moved solution to a solver file