refactored operations into separate submodule, need to add client