parameterized Core.Module so we can use it for G