Few slight modifications and improvements as well as added comments