add detach method