so it can be chainable