Restructuring and CLI