Added complete(): it works and passed the unit tests