add program workflow