Added more useful comments for understanding