All implemented except for arithmetic