updated with beyond compare comparison function