add @chainable