Add unary op support, fix tests