<SYSTEM_TASK:>
Solve the following problem using Python, implementing the functions described below, one line at a time
<END_TASK>
<USER_TASK:>
Description:
 def add(self, src_cls, module, package=None):
 """ Add layer class to model. This method may be overloaded by layer. :param src_cls: layer class to add, should not start with underscores :type src_cls: str :param module: Python module that contains layer class :type module: str :param package: optional package containing module with layer class :type package: str :raises: :exc:`~exceptions.NotImplementedError` """

        # import module containing the layer class
        mod = importlib.import_module(module, package)
        # get layer class definition from the module
        self.sources[src_cls] = getattr(mod, src_cls)