Working code, super basic cache