initial
cleanup
dont wrap static types
to pre
lazy