initial draft cachesolve, makecachematrix