need to think a lot more about tab behavior