enhanced the assembler