added key event methods