build flow