split viewer and presenter into separate templates and js files