a workflow lib pure in golang