move first_block_stripper into sub namespace
add code generate context and reduce number of objects