add auth func