Add chaining API