why not using a set here?