puzzle script