problem 18
problem 13 now uses reading from file
small visual adjustments