subsets reimpl