updated methods to use chaining