added keyboard navigation and tab postion switching