key codes as constants for better readability.