construct migration and models and make sure that they all work