have to inherit to use as class param