added some explanation on how to use this