implement drop