Finish implementing IsPerfect