wrote cachematrix and cachesolve