created separate modules for datastore models and custom exceptions.