some functions to smaller pieces