add chaining support to new method