adding a shell layout class (wip)