refactoring

* separate manager class
* change namespace
* add some setting
* add hashcode method for auto-generated data class