outputs solution, needs clean up