removed setters
Added top level comments.
tests added.