more unit tests + new implementation but still not working + needs to implement union set first