some geralizations