added comments for more lucidity