refactor elementoperators.clj