added solutions from Reto