Added documentation
Added comments