add ViewUtil
refactor