rename some functions more better