reorg the classes and added ntp