enable chaining of public methods, add comments