invole some functions