first three assembler methods working