modified some documentation. added more descriptive naming and comments for classes