functional completed