working on open generics at the moment.