structure of controllers flow changes (but still bad)