removed equals implementation