make the symlink task more generic