finishing DataAccessObject + bug fixes