Inside the InitializeAndName method, I initially used: return new User(); and my code did not verify. However, after using "return this;", the code verified. What I understand from that is 1. the return new User(); returned a new instance of the User class without any parameters 2. while the "return this;" line returned the newly created instance that contained the arguments passed into the method. I've never seen "this" used in that way so I'm not sure if this is correct.