merge + marcus' 6689 suggestions
mege
merge + optimise NBQ.drainTo
merge
fix NBQ.drainTo + unit tests for