completed Auth module UNTESTED