basic overview of how this works