implemented direct selection