refactor to move all tfa logic into separate class
move into a module
questions for providers
formatting