extend hashable object family