smart version