added more unary operations