added makeCacheMatrix implementation with comments