moving to Chaining implementation