spin and touch, changes in viewer.js, NOT COMPLETE