Added abstract interface DataAccessObject

refractor.  have all Data access objects share the same interface of
create update and delete functionality