Initial cache implementation