added the overtake and undertake cases for take
refactoring: simplified take
refactoring: simplified drop
refactoring: cleaned up drop, removing dead code for padding