fixed checkbox (was not changing color when toggled), some refactoring to allow support for arrow up/arrow down