Refactoring and add some features

 * refactoring
 * add GORM ORM support
 * add support for associations(has_many, has_one, belongs_to)
 * add test