* refactoring package structure
* added comments to important classes