break out search into separate func, set things up for repeatable profiling
added separate tails flags list (array of bitfields), it doesnt help much and may not survive, but checking in for posterity
first pass grid implementation - noticeable speed boost