same functionality, added method abstraction to all of the db calls