drop newline since it hurts @stdweird eyes, apparently ;)
use getinstance
use isinstance
get rid of hackish iterate_step, adjust get_steps and add substep function handle_iterate_opts instead