refactored a lot of how controls work... it's much cleaner now