refactor to include partials