commented the code more