refactored to group code by what it does, not what kind of conent it's handling