reverse should also be chainable