adding comparison methods and tests