a few bugs found in key pushing