Drop and alter

@brianc: This branch includes both of the other pull requests, merged together.