refactored, added DAO layer