easier generic type