+, -, * tested and compiling