1. see the comment above to @jmarshallnz about clearing.
2. trying to keep current mainline behavior for the most part, changes/optims as a second step