Changed the way chaining works, added helper method, tests, and documentation.