operators prototypes updated, compare implemented