add more margin
make prepare async