Refactoring, moved various opcodes to different files for easier organisation