added new test and fixed contains and equals