user build flow