extract modal into partial