Add some comments for sake of comprehension