begun cache implementation