diff --git a/app/services/blocks_migration.rb b/app/services/blocks_migration.rb
index ff7302a64868f9923e68db50dfbc009ed9130569..65d2e69e2d54892d97bd6d9f7d96459b1c41a78d 100644
--- a/app/services/blocks_migration.rb
+++ b/app/services/blocks_migration.rb
@@ -1,115 +1,19 @@
+require 'communication/block/template/base'
+require 'communication/block/template/chapter'
+
 class BlocksMigration
 
   def self.cleanup
-    clean_cta
-    clean_chapter
-    clean_definitions
-    clean_gallery
-    clean_image
-    clean_posts
-    clean_pages
-  end
-
-  private
-
-  def self.clean_cta
-    Communication::Block.where(template_kind: 'call_to_action').each do |block|
-      data = block['data']
-      if data && data['url'].present?
-        elements = []
-        if data['url'].present?
-          elements << { title: data['button'], url: data['url'], target_blank: data['target_blank']}
-        end
-        if data['url_secondary'].present?
-          elements << { title: data['button_secondary'], url: data['url_secondary'], target_blank: data['target_blank_secondary']}
-        end
-        if data['url_tertiary'].present?
-          elements << { title: data['button_tertiary'], url: data['url_tertiary'], target_blank: data['target_blank_tertiary']}
-        end
-        data['elements'] = elements
-        data['alt'] = data['image_alt']
-        data['credit'] = data['image_credit']
-        block['data'] = data
-
-        block.save
-      end
-    end
-  end
-
-  def self.clean_chapter
-    Communication::Block.where(template_kind: 'chapter').each do |block|
-      data = block['data']
-      if data && (data['image_alt'].present? || data['image_credit'].present?)
-        data['alt'] = data['image_alt']
-        data['credit'] = data['image_credit']
-        block['data'] = data
-        block.save
-      end
-    end
-  end
-
-  def self.clean_definitions
-    Communication::Block.where(template_kind: 'definitions').each do |block|
-      data = block['data']
-      if data && data.has_key?('elements') && data['elements'].any? && data['elements'].first.has_key?('text')
-        elements = []
-        data['elements'].each do |elmt|
-          elements << { title: elmt['title'], description: elmt['text'] }
-        end
-        data['elements'] = elements
-        block['data'] = data
-        block.save
-      end
-    end
-  end
-
-  def self.clean_gallery
-    Communication::Block.where(template_kind: 'gallery').each do |block|
-      data = block['data']
-      if data && data.has_key?('elements') && data['elements'].any? && data['elements'].first.has_key?('file')
-        elements = []
-        data['elements'].each do |elmt|
-          elements << { alt: elmt['alt'], text: elmt['text'], credit: elmt['credit'], image: elmt['file'] }
-        end
-        data['elements'] = elements
-        block['data'] = data
-        block.save
-      end
-    end
-  end
-
-  def self.clean_image
-    Communication::Block.where(template_kind: 'image').each do |block|
-      data = block['data']
-      if data && (data['image_alt'].present? || data['image_credit'].present?)
-        data['alt'] = data['image_alt']
-        data['credit'] = data['image_credit']
-        block['data'] = data
-        block.save
-      end
-    end
-  end
-
-  def self.clean_posts
-    Communication::Block.where(template_kind: 'posts').each do |block|
-      data = block['data']
-      if data && data['kind'].present?
-        data['mode'] = data['kind']
-        block['data'] = data
+    Communication::Website::Post.where(description: [nil, ""]).each do |post|
+      puts "#{post} (#{post.id}, #{post.university})"
+      if post.blocks.none?
+        puts "  migrating"
+        block = post.blocks.create university: post.university, template_kind: :chapter
+        data = block.data
+        data['text'] = post.text.to_html
+        block.data = data
         block.save
       end
     end
   end
-
-  def self.clean_pages
-    Communication::Block.where(template_kind: 'pages').each do |block|
-      data = block['data']
-      if data && data['kind'].present?
-        data['mode'] = data['kind']
-        block['data'] = data
-        block.save
-      end
-    end
-  end
-
 end
diff --git a/lib/tasks/app.rake b/lib/tasks/app.rake
index aa82f358b88686d21edf550c8d87661e4ecb1f87..b3c536e31ffdf2f80760ee58f2370825ac6b8fef 100644
--- a/lib/tasks/app.rake
+++ b/lib/tasks/app.rake
@@ -8,16 +8,6 @@ namespace :app do
 
   desc 'Fix things'
   task fix: :environment do
-    # University::Person.find_each do |person|
-    #   person.is_author = person.communication_website_posts.any?
-    #   person.save
-    # end
-
-    # Communication::Website::Page.where("header_text ILIKE ?", "%<p>%").find_each { |page|
-    #   clean_header_text = ActionController::Base.helpers.strip_tags(page.header_text)
-    #   page.update(header_text: clean_header_text)
-    # }
-
     BlocksMigration.cleanup
   end