replace slow list with faster ordered set