Added Complete, a generalized completion func