better design flow, i think