Move some things and refactor test suite, assembler almost works.