implemented dodgy equals