push most of the styling into shared