initial commit before cleaning and answering properly the questions