Big reorganization to generics