Little indications for better understanding the code , and changed  company name for generic one ->  YourCompany