Implement most of the opcodes