Added a bunch of changes awhile ago. Committing them now all at once because I don't remember what they all were for. Probably going to start using EnhancedListView, so we won't need this one anymore