some comments for the code