why not just return self or a copy of it?