refactor render partial