we check for complete before we call the function