adding ModuleItem interface