view refactoring
fixed merge conflict