def move_to(self, folder, type_p):
        """Move machine on to new place/folder

        in folder of type str
            Target folder where machine is moved.

        in type_p of type str
            Type of moving.
            Possible values:
            basic - Only the files which belong solely to this machine
            are moved from the original machine's folder to
            a new folder.

        return progress of type :class:`IProgress`
            Progress object to track the operation completion.

        raises :class:`OleErrorInvalidarg`
            @a target is @c null.
        
        """
        if not isinstance(folder, basestring):
            raise TypeError("folder can only be an instance of type basestring")
        if not isinstance(type_p, basestring):
            raise TypeError("type_p can only be an instance of type basestring")
        progress = self._call("moveTo",
                     in_p=[folder, type_p])
        progress = IProgress(progress)
        return progress