add makeToProgram()