add chainable support .set