add ui pan
op negate refactoring
cleanup
cleanup
cleanup