added abstraction layer for datastore & simple interface.