cleaned up asm