add version checking