handle key requests