refactor DAO interfaces, add support for users table