make some more things generic