frontend cleanup: partials and yield wrappers