interface for any intersection that the rest of the simulation can use