refactoring, split to views