record time
use selector instead of copier
manually inline siftDown method
temporary allocation fixes