Scrap previous implementation and use select.