First DAO implementation with tests