Added doc strings for less straightforward functions, and all classes, and rechose private vs public attributes