Added examples with descriptions
Code to handle redundant instantiation
Added more comments
Fixed minor formatting