cleaned up solution 15 a bit