solved problem 1 and 2 and code hygiene