Private some functions