op negate refactoring
cleanup
cleanup