diff --git a/README.md b/README.md
index 2141595..a05133e 100644
--- a/README.md
+++ b/README.md
@@ -1,52 +1,44 @@
# Writing an Operating system
-## As a learning experience... Inspired by people like.. Linus Torvalds and Andreas Kling
-
+## As a learning experience!
+ Inspired by people like Linus Torvalds and Andreas Kling
+________________________
+### Screenshot(s)
+Coming soon ...
+
+________________________
### The goal
Writing a hobby operating system to better understand the basic building blocks of any operating system.
+
+
+________________________
### Operating System Technical specs/details
-Currently the operating system is in the planning fase.
-I hope to soon have the basic output and booting sequence with multiboot done.
-
+The operating system can print strings to the
+screen. The terminal/screen has scrolling so the latest messages are visible on the screen.
+________________________
### Planning
+[See TODO](TODO.md)
-[x] Muliboot to kernel \
-[ ] Printing strings and integer numbers (both decimal and hex) on the screen is certainly a must. This is one of most basic ways of debugging, and virtually all of us have gone through a kprint() or kout in version 0.01. \
-[ ] Outputting to a serial port will save you a lot of debugging time. You don't have to fear losing information due to scrolling. You will be able to test your OS from a console, filter interesting debug messages, and automatize some tests. \
-[ ] Having a working and reliable interrupt/exception handling system that can dump the contents of the registers (and perhaps the address of the fault) will be very useful. \
-[ ] Plan your memory map (virtual, and physical) : decide where you want the data to be. \
-[ ] The heap: allocating memory at runtime (malloc and free) is almost impossible to go without. It should be implemented as soon as possible.
-
-
-### Other features I am thinking of:
-[ ] USTAR Filesystem ( For its simplicity this is very likely the first filesystem the OS is going to support) \
-[ ] Memory Management \
-[ ] Scheduling (Unknown what the scheduling algorithm will be, as with everything suspect simplicity) \
-[ ] RPC - for interprocess communication \
-[ ] Sync primitives - Semaphores, Mutexes, spinlocks et al. \
-[ ] ACPI support ( Or some other basic way to support shutdown, reboot and possibly hibernation ) \
-[ ] ATA support \
-[ ] Keyboard support ( must have ) \
-[ ] Basic hardware recognition ( CPU codename, memory, ATA harddisk, RAW diskSpace, CPU speed et al. ) \
-[ ] Basic Terminal \
-[ ] Simplistic draw ( maybe ?!?) \
-### Far in the future: \
-[ ] Basic Window server/client
-#### Support for more filesystems if I like the challenge in writing these ...
-[ ] FAT Filesystem
-[ ] EXT2 Filesystem
-
-
-
+________________________
+### Docs
+[Intro](docs/Intro.md) \
+[Manuals](docs/Manuals.md) \
+[Project structure](docs/ProjectStructure.md)
+________________________
### Resources:
+#### General kernel stuff
[wiki.osdev.org/Main_Page](wiki.osdev.org/Main_Page)
[Modern Operating Systems [book]](https://www.amazon.com/Modern-Operating-Systems-Tanenbaum-Andrew/dp/1292061421/ref=sr_1_1?__mk_nl_NL=%C3%85M%C3%85%C5%BD%C3%95%C3%91&dchild=1&keywords=Modern+Operating+systems&qid=1619967779&sr=8-1)
+[whiteheadsoftware.dev](https://whiteheadsoftware.dev/operating-systems-development-for-dummies/)
+
+#### More specific stuff
+[VFS explained: science.unitn.it](https://www.science.unitn.it/~fiorella/guidelinux/tlk/node102.html)
+
-[whiteheadsoftware.dev](https://whiteheadsoftware.dev/operating-systems-development-for-dummies/)
\ No newline at end of file
diff --git a/TODO.md b/TODO.md
new file mode 100644
index 0000000..4e545dc
--- /dev/null
+++ b/TODO.md
@@ -0,0 +1,40 @@
+# TODO list
+## Start planning
+ Setup Cross-Compiler \
+ Multiboot to kernel \
+ Printing string to the screen \
+ Printing values/numbers to the screen (a.k.k itoa) \
+ Extend Multiboot implementation \
+ Output to serial port \
+ Move to protected mode \
+ Enabel CMOS clock \
+ Time measurement (PIC &| PIT) \
+ Detect CPU speed \
+ Interrupt / exception system (API) \
+
+ Plan your memory map (virtual, and physical) : decide where you want the data to be. \
+ The heap: allocating memory at runtime (malloc and free) is almost impossible to go without. \
+ Enable SIMD Extensions (SSE)
+
+## Other features I am thinking of:
+ PCI support \
+ ATA PIO Mode support \
+ USTAR Filesystem ( For its simplicity this is very likely the first filesystem the OS is going to support) \
+ ACPI support ( Or some other basic way to support shutdown, reboot and possibly hibernation ) \
+ ATAPI support \
+ Keyboard support ( P/S2 Keyboard) \
+ Memory Management (MMU)\
+ Preemptive multi tasking
+ Processes
+ Threads
+ Scheduling (SRV2 Unix OR Priority Based Round Robin) \
+ System V ABI compliance (partially)
+ POSIX compliance (partially)
+ RPC - for interprocess communication \
+ Sync primitives - Semaphores, Mutexes, spinlocks et al. \
+ Basic Terminal \
+ Extend hardware recognition ( CPU codename, memory, ATA harddisk, RAW diskSpace, CPU speed through SMBIOS et al. ) \
+ Basic Window server/client \
+## Support for more filesystems if I like the challenge in writing these ...
+ FAT Filesystem \
+ EXT2 Filesystem \
\ No newline at end of file