Adding data-access and hibernate + refactoring where needed