working shell
restructuring