add version comparison