Reworking TOTP implementation.