added smartcard class