Add comments for better understanding