works and produces essentially the correct output and recovers the locations of the template in the synthetic data for the most part
explains the workings of the shift em