additions for keyboard visibility handling in view controller