# GenServerVirtualTimeMigrate v1.1.1 - Table of Contents > `mix virtual_time.migrate` rewrites GenServer and GenStateMachine modules to their virtual-time equivalents, reporting first and writing only when asked. Dev-only: it rewrites source, it is not a runtime dependency. ## Pages - Project - [Overview](readme.md) - [Changelog](changelog.md) - [License](license.md) ## Modules - [VirtualTimeMigrate](VirtualTimeMigrate.md): Works out how to turn `GenServer` modules into their virtual-time equivalents. - [VirtualTimeMigrate.Edits](VirtualTimeMigrate.Edits.md): The editable unit of a planned rewrite: a token at a line and column. - [VirtualTimeMigrate.Project](VirtualTimeMigrate.Project.md): The part of both rewrite tasks that is the same: walk a tree, plan each file, report, and write only what still parses. - [VirtualTimeUpgrade](VirtualTimeUpgrade.md): Plans the move off the deprecated code-generator module names. ## Mix Tasks - [mix virtual_time.migrate](Mix.Tasks.VirtualTime.Migrate.md): Rewrites `GenServer` and `GenStateMachine` modules to their virtual-time equivalents, reporting first and writing only when asked. - [mix virtual_time.upgrade](Mix.Tasks.VirtualTime.Upgrade.md): Moves a project off the deprecated code-generator module names.