Re add types because super type detemrination is not working yet with generics