lots of CSS changes for better structuring