added reference used for the code