implemented automatic puppet creation and saving workflow