Attempt at keeping generics