Hmm maybe it's cause you were using self twice? You only need it on the left hand side I believe. And yep using ! for methods that mutate a record is convention.