added Comparable implementing