add auth logic