TONS of styling changes, and lots of backend changes to support them