added some comments :)