working version with new requestFocus() systems