keep a list of users we already checked to avoid loops