added DAO layer code