Add exhaustive searching and best bookkeeping