added keyboard shortcut support