made set more flexible