Add support for two factor authentication

This solves #112