explain how this works