working on select_mode()