Is this a fully fleshed out equals method?