added rsync implementation