1. Now node is a base class with Directory and Page as two derived classes.
2. No optional fields anymore.
3. Lot of refactoring.