refactor ViewHelper to fix bug