with some comments