supports comparison and blend