New layout with better abstraction.