Split up the operation creation logic into different methods
update the gem