refactor views with partials and helpers