added keyboard support