urgh, proper equals, this is not C++