add auth module, tests