keep veil dependencies on qiniu; refactor