modify drop function