implementing new selection mechanisms, fixing some minors