made a bunch of changes to optimize better for mobile