abstracts the symlink process