started keyboardui reworking, still a bit messy