added a cool equal method