assembler prototype