beginning select implementation