projective and injective modules