some functions
some functions