Great code refactor in BidirectionalSearch project