used appendBlock