moved some assembler functionality into its own class and enhanced them