Add comments to code
Documentations and examples updated