use signal sets as separate classes