Split operations module
Merge branch 'operation-refactoring'