use partials for hard stuff