make SellMedia into a singleton, cleanup this mess, compartmentalize files