minor refactorization: checksum renamed to extra so it may contain other data too
missing pull operation added
handle symlinks