implemented Unary Operations