added keyboard functionalities