diff --git a/README.md b/README.md
index b7ce5d0eb67b2f5a847df318d706a2002dcb4610..6f68b757591358100ab2931e5221e47794c78097 100644
--- a/README.md
+++ b/README.md
@@ -15,9 +15,12 @@ group: root
 # permission bits, can be octal number or the string representation
 mode: 0700
 
-# can be 'present', 'absent', 'directory', or 'touch' (ensure file is created and set modification time to now, but do not change the content)
+# can be 'present', 'absent', 'directory', or 'touch' (ensure file is created and set modification time to now, but do not change the content), 'link'
 state:  present
 
+# target if state is 'link'
+src: ''
+
 # set the file content, mutaly exclusive with "template". Only handeled if the state if 'file'
 content: ''
 
diff --git a/tasks/file.yml b/tasks/file.yml
index 6d71f463f2a4fedf2a0727a19db85eaf7b553500..8080a2408cebd2e70804804f9d094dda269b8c1f 100644
--- a/tasks/file.yml
+++ b/tasks/file.yml
@@ -4,6 +4,7 @@
       owner: root
       mode: "0700"
       state: touch
+      src: ~
       content: ~
       template: ~
       template_vars: {}
@@ -20,11 +21,13 @@
     group: "{{ file.group }}"
     owner: "{{ file.owner }}"
     mode: "{{ file.mode }}"
+    src: "{{ file.src }}"
     state: "{{ file.state }}"
 
-- name: create file/folder
+- name: create file/folder and set content
   when:
     - file.content
+    - not file.src
   copy:
     dest: "{{ file.path }}"
     group: "{{ file.group }}"