migrate blog 4: write right program