added some explanation of what it does