generalize list methods