more work on asm. tested. not working.