refactoring + integration testing + hibernate(pre phase)