keyboard nav basically working. needs refactoring, and left key is broken, but basics there