new approach to assembler