Make public api chainable, where possible