return this where possible