Added more explanations and todo's