Modules

maintain a dependency graph