background for how it works