Large scale refactoring and create shell channel
Begin massive refactoring.