implemented cacheSolve and makeCacheMatrix functions