fixed #95
(cherry picked from commit a4ce466)
fix #94
(cherry picked from commit 1c55a80)
modify #94 for fetch case
(cherry picked from commit b1e3b93)
reModify #94 for fetch case
(cherry picked from commit f201915)
update #94, #95