added some explanations, did some cleaning