resolution of issue #39 restructuring datastore component