important plan to redesign the whole system but reuse the code about the init of the CPU and hardwares.
as some one says in the http://wiki.osdev.org/
``it is much more important to have a good design about the system, than to have many drivers and reusable code.''