Defined the dependencies between different classes.
Renamed some packages.
Fixed the sync from local machine code.