generalize some functions