no type_traits anymore simpler solution possible
some more