TODO

add TODO item
passes: add func for (de)allocating passes

This removes duplicated code on few places
interactive: add passes after resolve

add new passes between resolve and interactive. The former must
be as the first and the later must be the last all the time