circular dependencies script