working source files.  Shifting needs some tweaking