wrapper for assembler level re-writing