added unary and binary operators support