Refactor 'drop' functionality