consumes migration