implemented a few opcodes