added some minor explanations