moduleimpl replaced by module.impl