move asm stuff to separate package