desktop working version, fucked up mobile