Maybe, I think I might remove the "return self" stuff altogether.