completed remove method, not tested