implemented most opcodes