retry 3 times if failed