refactor for layouts