implemented remainder of operators, still missing assign