added keyboard controller