Add smart version checking