added some info in the comments