Added documentation and method chaining