Merge pull request #6 from Zhengzi/Migration

The changes look good in general, we will have to address the generic template type as argument in the future, but that's another story for another day :)