added some comments for clarty