debating selection algos will probalby expand bfs function