add compareWith