Members of the operation structs should be private
Remove unnecessary borrows