update consumer logic and fix work complete errors