working progress on sift down