Added documentation and references which helps programmer