Added selection strategies, improved performance