regrouped some functions