FIX: some changes according to Generics