added other opcodes and functions