Fixed remove method, should run O(logn) now