organized the project tree by creating directories and grouping classes and header files