added unary and binary operations
merge