better with some comments