moving variables
cleaned up asm