view helper factory