Added Comments and polished up
removed improper constructor