added updated assembler