Implement two factor authentication
Merge branch 'two_factor_auth'