new layout
refactoring