some basic updates and key input