new view refactor