added some explanation and a license