Added comments / class heirarchy