Added documentation and set private access to instance variables.