Cleaned up solution for 15