almost fully dynamic input