prepare to add asm support.