implement program.set