diff --git a/shared/index.js b/shared/index.js
index 6ccdeac5ea0b07ff652a62e692fbf23e1bc8e227..d86c3299aa2fab07dd227fe394570304e9e6e933 100644
--- a/shared/index.js
+++ b/shared/index.js
@@ -5630,6 +5630,7 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting
             function _interopRequireDefault(obj){return obj&&obj.__esModule?obj:{default:obj};}
             var _enabled=false;
             var data=void 0;
+            var _svg=void 0;
             //Test
             var textarea = void 0;
             var submitbutton = void 0;
@@ -5637,6 +5638,7 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting
             var annotationObj;
             var documentId = -1;
             var pageNumber = 1;
+            
             /**
             * Handle document.mouseup event
             *
@@ -5646,17 +5648,38 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting
                 if(((typeof e.target.getAttribute('id')=='string') && e.target.id.indexOf('comment') !== -1) || e.target.className.indexOf('comment') !== -1 || e.target.parentNode.className.indexOf('comment') !== -1 || e.target.parentNode.className.indexOf('chat') !== -1 || e.target.tagName == 'INPUT' || e.target.tagName == 'LABEL'){
                     return;
                 }
-               let svg = (0,_utils.findSVGAtPoint)(e.clientX,e.clientY);
-                if(!svg){
+                _svg = (0,_utils.findSVGAtPoint)(e.clientX,e.clientY);
+                if(!_svg){
                     return;
                 }
-                var _getMetadata=(0,_utils.getMetadata)(svg);
+                var _getMetadata=(0,_utils.getMetadata)(_svg);
                 documentId=_getMetadata.documentId;
                 pageNumber=_getMetadata.pageNumber;
                 deleteUndefinedPin();
                 [textarea,data] = (0,_commentWrapper.openComment)(e,handleCancelClick,handleSubmitClick,handleToolbarClick,handleSubmitBlur,'pin');
                 renderPin();
             }
+            /**
+            * Handle content.touchend event
+            *
+            * @param {Event} The DOM event to be handled
+            */function handelContentTouchend(e){
+                //if the click is on the Commentlist nothing should happen.
+                if(((typeof e.target.getAttribute('id')=='string') && e.target.id.indexOf('comment') !== -1) || e.target.className.indexOf('comment') !== -1 || e.target.parentNode.className.indexOf('comment') !== -1 || e.target.parentNode.className.indexOf('chat') !== -1 || e.target.tagName == 'INPUT' || e.target.tagName == 'LABEL'){
+                    return;
+                }
+               let svg = (0,_utils.findSVGAtPoint)(e.changedTouches[0].clientX,e.changedTouches[0].clientY);
+                if(!svg){
+                    return;
+                }
+                var _getMetadata=(0,_utils.getMetadata)(svg);
+                documentId=_getMetadata.documentId;
+                pageNumber=_getMetadata.pageNumber;
+                deleteUndefinedPin();
+                var coordinates = {x: e.changedTouches[0].clientX, y: e.changedTouches[0].clientY};
+                renderPinTouchscreen(coordinates);
+                [textarea,data] = (0,_commentWrapper.openCommentTouchscreen)(e,handleCancelClick,handleSubmitClick,handleToolbarClick,handleSubmitBlur,'pin');
+            }
             
             /**
              * If the toolbar is clicked, the point tool should be disabled and the commentswrapper should be closed
@@ -5673,7 +5696,7 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting
             }
             
             function handleSubmitClick(e){
-                savePoint(); 
+                savePoint(_svg);
                 return false;
             }
             function handleCancelClick(e){
@@ -5692,8 +5715,8 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting
             *
             * @param {Event} e The DOM event to handle
             */function handleInputKeyup(e){if(e.keyCode===27){disablePoint();closeInput();}else if(e.keyCode===13){/*disablePoint();*/savePoint();}}
-           
-           function renderPin(){
+
+            function renderPin(){
                 var clientX=(0,_utils.roundDigits)(data.x,4);
                 var clientY=(0,_utils.roundDigits)(data.y,4);
                 var content=textarea.value.trim();
@@ -5707,6 +5730,19 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting
                 annotation.color = true;
                 (0,_appendChild2.default)(svg,annotation);
             }
+            function renderPinTouchscreen(coordinates){
+                var clientX=(0,_utils.roundDigits)(coordinates.x,4);
+                var clientY=(0,_utils.roundDigits)(coordinates.y,4);
+                var svg=(0,_utils.findSVGAtPoint)(clientX,clientY);
+                if(!svg){
+                    return{v:void 0};
+                }
+                var rect=svg.getBoundingClientRect();
+                var annotation = initializeAnnotationTouchscreen(rect,svg,coordinates);
+                annotationObj = annotation;
+                annotation.color = true;
+                (0,_appendChild2.default)(svg,annotation);
+            }
             
             /**
              * This function deletes all annotations which data-pdf-annotate-id is undefined. An annotation is undefined, if it is only temporarily displayed.
@@ -5719,22 +5755,30 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting
                 }
             }
             
-            
             function initializeAnnotation(rect,svg){
                 var clientX=(0,_utils.roundDigits)(data.x,4);
                 var clientY=(0,_utils.roundDigits)(data.y,4);
                 return Object.assign({type:'point'},(0,_utils.scaleDown)(svg,{x:clientX-((0,_utils.roundDigits)(rect.left,4)),y:clientY-((0,_utils.roundDigits)(rect.top,4))}));
             }
+            function initializeAnnotationTouchscreen(rect,svg,coordinates){
+                var clientX=(0,_utils.roundDigits)(coordinates.x,4);
+                var clientY=(0,_utils.roundDigits)(coordinates.y,4);
+                return Object.assign({type:'point'},(0,_utils.scaleDown)(svg,{x:clientX-((0,_utils.roundDigits)(rect.left,4)),y:clientY-((0,_utils.roundDigits)(rect.top,4))}));
+            }
             /**
             * Save a new point annotation from input
-            */function savePoint(){
+            */function savePoint(svg = null){
                 if(textarea.value.trim().length>1){
                     disablePoint();
+                    var page = pageNumber;
+                    if (!svg) {
+                        var elements=document.querySelectorAll('svg[data-pdf-annotate-container="true"]');
+                        var svg=elements[page-1];
+                    }
                     var _ret=function(){
                         var clientX=(0,_utils.roundDigits)(data.x,4);
                         var clientY=(0,_utils.roundDigits)(data.y,4);
                         var content=textarea.value.trim();
-                        var svg=(0,_utils.findSVGAtPoint)(clientX,clientY);
                         if(!svg){
                             return{v:void 0};
                         }
@@ -5742,7 +5786,7 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting
                         
                         var _getMetadata=(0,_utils.getMetadata)(svg);
                         var documentId=_getMetadata.documentId;
-                        var pageNumber=_getMetadata.pageNumber;
+                        var pageNumber=page;
                         var annotation=Object.assign({type:'point'},(0,_utils.scaleDown)(svg,{x:clientX-((0,_utils.roundDigits)(rect.left,4)),y:clientY-((0,_utils.roundDigits)(rect.top,4))}));
                         var commentVisibility = "public";
                         if(document.querySelector('#anonymousCheckbox').checked){
@@ -5795,20 +5839,22 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting
             function closeInput(){data.removeEventListener('blur',handleInputBlur);data.removeEventListener('keyup',handleInputKeyup);document.body.removeChild(data);data=null;}/**
             * Enable point annotation behavior
             */function enablePoint(){
-                           if(_enabled){
+                            if(_enabled){
                                return;
-                           }
-                           _enabled=true;
-                           document.getElementById('content-wrapper').classList.add('cursor-point');
-                           document.addEventListener('mouseup',handleDocumentMouseup);
+                            }
+                            _enabled=true;
+                            document.getElementById('content-wrapper').classList.add('cursor-point');
+                            document.addEventListener('mouseup',handleDocumentMouseup);
+                            document.addEventListener('touchend',handelContentTouchend);
                        }
             /**
             * Disable point annotation behavior
             */function disablePoint(){
-               _enabled=false;
-               document.getElementById('content-wrapper').classList.remove('cursor-point');
-               document.removeEventListener('mouseup',handleDocumentMouseup);
-           }
+                _enabled=false;
+                document.getElementById('content-wrapper').classList.remove('cursor-point');
+                document.removeEventListener('mouseup',handleDocumentMouseup);
+                document.removeEventListener('touchend',handelContentTouchend);
+            }
     /***/},
     /* 32 */
     /***/function(module,exports,__webpack_require__){
@@ -6510,6 +6556,7 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting
             exports.openComment = openComment;
             exports.closeComment = closeComment;
             exports.showCommentsAfterCreation = showCommentsAfterCreation;
+            exports.openCommentTouchscreen = openCommentTouchscreen;
             var _PDFJSAnnotate=__webpack_require__(1);
             var _event=__webpack_require__(4);
             var _PDFJSAnnotate2=_interopRequireDefault(_PDFJSAnnotate);
@@ -6625,6 +6672,51 @@ function startIndex(Y,_cm,_documentObject,_userid,_capabilities, _toolbarSetting
                 textarea.focus();
                 return [textarea,data];
             }
+
+            function openCommentTouchscreen(e,cancelClick,submitClick,toolbarClick,submitBlur,_type){ 
+                //save e for later 
+                _e = e;
+                
+                var button1 = document.getElementById('allQuestions'); // to be found in index template
+                button1.style.display = 'inline';
+                var button2 = document.getElementById('questionsOnThisPage'); // to be found in index template
+                button2.style.display = 'inline';
+                
+                //title 
+                $('#comment-wrapper h4')[0].innerHTML = M.util.get_string('comments','pdfannotator');
+                //add Eventlistener to Toolbar. Every Click in Toolbar should cancel the Annotation-Comment-Creation
+                document.querySelector('.toolbar').addEventListener('click',toolbarClick);
+                //Hide shown comments
+                document.querySelector('.comment-list-container').innerHTML = '<p></p>';
+                form = document.querySelector('.comment-list-form');
+                form.setAttribute('style','display:inherit');
+                textarea = document.getElementById('myarea');
+                textarea.placeholder = M.util.get_string('startDiscussion','pdfannotator');
+                submitbutton = document.getElementById('commentSubmit');
+                submitbutton.value = M.util.get_string('createAnnotation','pdfannotator');
+                resetbutton = document.getElementById('commentCancel');
+                resetbutton.addEventListener('click',cancelClick);
+                form.onsubmit = submitClick;
+                //fixCommentForm();
+                if(_type === 'pin'){
+                    data = new Object();
+                    data.x = e.changedTouches[0].clientX;
+                    data.y = e.changedTouches[0].clientY;
+                }else{
+                    data = document.createElement('div');
+                    data.setAttribute('id','pdf-annotate-point-input');
+                    data.style.border='3px solid '+_utils.BORDER_COLOR;
+                    data.style.borderRadius='3px';
+                    data.style.display = 'none';
+                    data.style.position='absolute';
+                    data.style.top=e.clientY+'px';
+                    data.style.left=e.clientX+'px';
+                }
+                
+                form.addEventListener('blur',submitBlur);
+                textarea.focus();
+                return [textarea,data];
+            }
             
     /***/},
     /* 36 *//*OWN Module! To show and hide ajaxloader*/
diff --git a/version.php b/version.php
index 48294269850af3c8f5c8e09795682095795a1c46..83c67830aaade085c6e42382ba5a12fbeec8598c 100644
--- a/version.php
+++ b/version.php
@@ -25,6 +25,6 @@
 defined('MOODLE_INTERNAL') || die();
 
 $plugin->component = 'mod_pdfannotator'; // Full name of the plugin (used for diagnostics).
-$plugin->version   = 2021012600; // The current module version (Date: YYYYMMDDXX).
+$plugin->version   = 2021020200; // The current module version (Date: YYYYMMDDXX).
 $plugin->release  = 'PDF Annotator v1.4 release 5';
 $plugin->requires  = 2016112900; // Requires this Moodle version.