there seem to be equivalent image/audio paths for everything in here. this will get more annoying when we add video. not sure sure if there's a smarter way to compartmentalize the functionality or use a structure that makes it easier to manage multiple types (not actionable now)