added comparison functions