Operations refactor for less confusing code

Will complete #15