implemented comparisons