restructuring shell app