redesigned backend flow