diff --git a/Ring/Ring.xcodeproj/project.pbxproj b/Ring/Ring.xcodeproj/project.pbxproj
index e951a32fbe46c09b25da81304d8dcdd866bf7c81..90620558fb9052af023614af73af3069b018eaa2 100644
--- a/Ring/Ring.xcodeproj/project.pbxproj
+++ b/Ring/Ring.xcodeproj/project.pbxproj
@@ -13,7 +13,6 @@
 		024B612C1DF7654F00C4F9DE /* DaemonServiceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 024B612B1DF7654F00C4F9DE /* DaemonServiceTests.swift */; };
 		024B61311DF7656A00C4F9DE /* FixtureFailInitDRingAdapter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 024B612E1DF7656A00C4F9DE /* FixtureFailInitDRingAdapter.mm */; };
 		024B61321DF7656A00C4F9DE /* FixtureFailStartDRingAdapter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 024B61301DF7656A00C4F9DE /* FixtureFailStartDRingAdapter.mm */; };
-		024B61331DF765CA00C4F9DE /* DaemonService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02B22E081DF7585F000358C9 /* DaemonService.swift */; };
 		02674C851E0C757B0065EDF9 /* RxCocoa.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 02674C811E0C757B0065EDF9 /* RxCocoa.framework */; };
 		02674C861E0C757B0065EDF9 /* RxSwift.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 02674C821E0C757B0065EDF9 /* RxSwift.framework */; };
 		0273C2FF1E0C438F00CF00BA /* AccountAdapterDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0273C2FE1E0C438F00CF00BA /* AccountAdapterDelegate.swift */; };
@@ -21,13 +20,11 @@
 		0273C3061E0C68B100CF00BA /* CreateRingAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0273C3041E0C68B100CF00BA /* CreateRingAccountViewController.swift */; };
 		0273C3081E0C68BF00CF00BA /* RoundedButton.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0273C3071E0C68BF00CF00BA /* RoundedButton.swift */; };
 		029CE9D71E1D8C860000C8E1 /* ServiceEventTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 029CE9D61E1D8C860000C8E1 /* ServiceEventTests.swift */; };
-		029CE9D81E1D8DC70000C8E1 /* ServiceEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02C9B63E1E1D4E8C00F82F0C /* ServiceEvent.swift */; };
 		02AED8191DD4C4B100F740BA /* librestbed.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 02AED8181DD4C4B100F740BA /* librestbed.a */; };
 		02B22DFC1DF755BB000358C9 /* AccountModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02B22DFA1DF755BB000358C9 /* AccountModel.swift */; };
 		02B22DFD1DF755BB000358C9 /* CreateRingAccountViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02B22DFB1DF755BB000358C9 /* CreateRingAccountViewModel.swift */; };
 		02B22DFF1DF755DB000358C9 /* AccountsService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02B22DFE1DF755DB000358C9 /* AccountsService.swift */; };
 		02B22E011DF755E5000358C9 /* MainTabBarViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02B22E001DF755E5000358C9 /* MainTabBarViewController.swift */; };
-		02B22E031DF755F7000358C9 /* WalkthroughStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 02B22E021DF755F7000358C9 /* WalkthroughStoryboard.storyboard */; };
 		02B22E091DF7585F000358C9 /* DaemonService.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02B22E081DF7585F000358C9 /* DaemonService.swift */; };
 		02C9B63F1E1D4E8C00F82F0C /* ServiceEvent.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02C9B63E1E1D4E8C00F82F0C /* ServiceEvent.swift */; };
 		02DD80C81E1EAD70009A3510 /* AccountConfigModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02DD80C71E1EAD70009A3510 /* AccountConfigModel.swift */; };
@@ -35,9 +32,7 @@
 		02DD80CD1E1EB2E4009A3510 /* ConfigKeyModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02DD80CC1E1EB2E4009A3510 /* ConfigKeyModel.swift */; };
 		02E1A0251DDE4ABA00D75B59 /* BoolStringExtension.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043866371D2304A700E06CE2 /* BoolStringExtension.swift */; };
 		043866211D218B1100E06CE2 /* AudioToolbox.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 043866201D218B1100E06CE2 /* AudioToolbox.framework */; };
-		043866331D22CE8C00E06CE2 /* MeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043866321D22CE8C00E06CE2 /* MeViewController.swift */; };
 		043866361D22D06500E06CE2 /* AccountTableViewCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043866351D22D06500E06CE2 /* AccountTableViewCell.swift */; };
-		0438663B1D2313B700E06CE2 /* AccountDetailsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0438663A1D2313B700E06CE2 /* AccountDetailsViewController.swift */; };
 		043999F71D1C2D9D00E99CD9 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 043999F61D1C2D9D00E99CD9 /* AppDelegate.swift */; };
 		04399A031D1C2D9D00E99CD9 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = 04399A021D1C2D9D00E99CD9 /* Assets.xcassets */; };
 		04399A111D1C2D9D00E99CD9 /* RingTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04399A101D1C2D9D00E99CD9 /* RingTests.swift */; };
@@ -97,10 +92,16 @@
 		04399B131D1C341A00E99CD9 /* libvpx.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 04399AE11D1C341A00E99CD9 /* libvpx.a */; };
 		04399B141D1C341A00E99CD9 /* libx264.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 04399AE21D1C341A00E99CD9 /* libx264.a */; };
 		04399B151D1C341A00E99CD9 /* libyaml-cpp.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 04399AE31D1C341A00E99CD9 /* libyaml-cpp.a */; };
+		1ABE07BA1F0C16F100D36361 /* ContactViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 1ABE07B91F0C16F100D36361 /* ContactViewModel.swift */; };
+		1ABE07BC1F0C22CC00D36361 /* WalkthroughStoryboard.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1ABE07BB1F0C22CC00D36361 /* WalkthroughStoryboard.storyboard */; };
+		1ABE07C11F0C22FB00D36361 /* LaunchScreen.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1ABE07BD1F0C22FB00D36361 /* LaunchScreen.storyboard */; };
+		1ABE07C21F0C22FB00D36361 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 1ABE07BF1F0C22FB00D36361 /* Main.storyboard */; };
 		5516C29F1E71CEFF009D3D2D /* AccountModelHelper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5516C29E1E71CEFF009D3D2D /* AccountModelHelper.swift */; };
 		5557FD4A1E81AE850043E394 /* AccountModelHelperTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5557FD491E81AE850043E394 /* AccountModelHelperTests.swift */; };
-		5557FD4D1E81AFF50043E394 /* ConfigKeyModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02DD80CC1E1EB2E4009A3510 /* ConfigKeyModel.swift */; };
 		557086521E8ADB9D001A7CE4 /* SystemAdapter.mm in Sources */ = {isa = PBXBuildFile; fileRef = 557086511E8ADB9D001A7CE4 /* SystemAdapter.mm */; };
+		5628B41C1F0C358D008B1E11 /* AccountDetailsViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5628B41A1F0C358D008B1E11 /* AccountDetailsViewController.swift */; };
+		5628B41D1F0C358D008B1E11 /* MeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5628B41B1F0C358D008B1E11 /* MeViewController.swift */; };
+		5628B4211F0C35C8008B1E11 /* WelcomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5628B4201F0C35C8008B1E11 /* WelcomeViewController.swift */; };
 		562FB6CD1EFAD18A00C61A78 /* ConversationViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 562FB6CC1EFAD18A00C61A78 /* ConversationViewController.swift */; };
 		56308BA71EA00E5700660275 /* NameRegistrationResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 56308BA61EA00E5700660275 /* NameRegistrationResponse.m */; };
 		563AEC771EA664C0003A5641 /* RegistrationResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 563AEC761EA664C0003A5641 /* RegistrationResponse.m */; };
@@ -118,7 +119,6 @@
 		5669A7FE1EA904E4003C7B93 /* TextCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 5669A7FD1EA904E4003C7B93 /* TextCell.xib */; };
 		5669A8031EAA58E6003C7B93 /* LinkDeviceToAccountViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5669A8021EAA58E6003C7B93 /* LinkDeviceToAccountViewController.swift */; };
 		568F56751EA7E5DE00132D7D /* PKHUD.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 568F56721EA7E38F00132D7D /* PKHUD.framework */; };
-		56AC64D51E7C7F4000EA1AA9 /* WelcomeViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56AC64D41E7C7F4000EA1AA9 /* WelcomeViewController.swift */; };
 		56AC64DF1E804ECC00EA1AA9 /* SwitchCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56AC64DE1E804ECC00EA1AA9 /* SwitchCell.swift */; };
 		56AC64E11E80542300EA1AA9 /* TextFieldCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56AC64E01E80542300EA1AA9 /* TextFieldCell.swift */; };
 		56AC64E31E805F0200EA1AA9 /* TextCell.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56AC64E21E805F0200EA1AA9 /* TextCell.swift */; };
@@ -143,7 +143,6 @@
 		56BBC9D01EDC5E7000CDAF8B /* MessageCell.xib in Resources */ = {isa = PBXBuildFile; fileRef = 56BBC9CA1EDC5E7000CDAF8B /* MessageCell.xib */; };
 		56BBC9D21EDC5E7000CDAF8B /* MessageViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56BBC9CC1EDC5E7000CDAF8B /* MessageViewModel.swift */; };
 		56BBC9D41EDC7A6D00CDAF8B /* libargon2.a in Frameworks */ = {isa = PBXBuildFile; fileRef = 56BBC9D31EDC7A6D00CDAF8B /* libargon2.a */; };
-		56BBC9D51EDCA85900CDAF8B /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 043999FF1D1C2D9D00E99CD9 /* Main.storyboard */; };
 		56BBC9DF1EDDC9D300CDAF8B /* LookupNameResponse.m in Sources */ = {isa = PBXBuildFile; fileRef = 56BBC9DE1EDDC9D300CDAF8B /* LookupNameResponse.m */; };
 		56BBC9E01EDDC9E600CDAF8B /* ConversationViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 56BBC9AF1ED7155700CDAF8B /* ConversationViewModel.swift */; };
 		56BBC9E11EDDCA5900CDAF8B /* Walkthrough.strings in Resources */ = {isa = PBXBuildFile; fileRef = 56AC64DB1E8012CA00EA1AA9 /* Walkthrough.strings */; };
@@ -181,34 +180,29 @@
 		02674C811E0C757B0065EDF9 /* RxCocoa.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxCocoa.framework; path = Carthage/Build/iOS/RxCocoa.framework; sourceTree = "<group>"; };
 		02674C821E0C757B0065EDF9 /* RxSwift.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxSwift.framework; path = Carthage/Build/iOS/RxSwift.framework; sourceTree = "<group>"; };
 		02674C831E0C757B0065EDF9 /* RxTest.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxTest.framework; path = Carthage/Build/iOS/RxTest.framework; sourceTree = "<group>"; };
-		0273C2FE1E0C438F00CF00BA /* AccountAdapterDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AccountAdapterDelegate.swift; path = Services/AccountAdapterDelegate.swift; sourceTree = "<group>"; };
+		0273C2FE1E0C438F00CF00BA /* AccountAdapterDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountAdapterDelegate.swift; sourceTree = "<group>"; };
 		0273C3001E0C445200CF00BA /* RingPrefixHeader.pch */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; name = RingPrefixHeader.pch; path = Ring/RingPrefixHeader.pch; sourceTree = "<group>"; };
-		0273C3031E0C68B100CF00BA /* CreateProfileViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CreateProfileViewController.swift; path = Walkthrough/CreateProfileViewController.swift; sourceTree = "<group>"; };
-		0273C3041E0C68B100CF00BA /* CreateRingAccountViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CreateRingAccountViewController.swift; path = Walkthrough/CreateRingAccountViewController.swift; sourceTree = "<group>"; };
-		0273C3071E0C68BF00CF00BA /* RoundedButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = RoundedButton.swift; path = UI/RoundedButton.swift; sourceTree = "<group>"; };
+		0273C3031E0C68B100CF00BA /* CreateProfileViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CreateProfileViewController.swift; sourceTree = "<group>"; };
+		0273C3041E0C68B100CF00BA /* CreateRingAccountViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CreateRingAccountViewController.swift; sourceTree = "<group>"; };
+		0273C3071E0C68BF00CF00BA /* RoundedButton.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = RoundedButton.swift; sourceTree = "<group>"; };
 		028568301DF610A9003A8D8D /* RingTests-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "RingTests-Bridging-Header.h"; sourceTree = "<group>"; };
 		029CE9D61E1D8C860000C8E1 /* ServiceEventTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ServiceEventTests.swift; sourceTree = "<group>"; };
 		02AED8181DD4C4B100F740BA /* librestbed.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = librestbed.a; path = ../DEPS/x86_64/lib/librestbed.a; sourceTree = "<group>"; };
-		02B22DFA1DF755BB000358C9 /* AccountModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AccountModel.swift; path = Account/AccountModel.swift; sourceTree = "<group>"; };
-		02B22DFB1DF755BB000358C9 /* CreateRingAccountViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = CreateRingAccountViewModel.swift; path = Account/CreateRingAccountViewModel.swift; sourceTree = "<group>"; };
-		02B22DFE1DF755DB000358C9 /* AccountsService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AccountsService.swift; path = Services/AccountsService.swift; sourceTree = "<group>"; };
-		02B22E001DF755E5000358C9 /* MainTabBarViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = MainTabBarViewController.swift; path = MainTabBar/MainTabBarViewController.swift; sourceTree = "<group>"; };
-		02B22E021DF755F7000358C9 /* WalkthroughStoryboard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; name = WalkthroughStoryboard.storyboard; path = Walkthrough/WalkthroughStoryboard.storyboard; sourceTree = "<group>"; };
-		02B22E081DF7585F000358C9 /* DaemonService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = DaemonService.swift; path = Services/DaemonService.swift; sourceTree = "<group>"; };
-		02C9B63E1E1D4E8C00F82F0C /* ServiceEvent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ServiceEvent.swift; path = Services/ServiceEvent.swift; sourceTree = "<group>"; };
-		02DD80C71E1EAD70009A3510 /* AccountConfigModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AccountConfigModel.swift; path = Account/AccountConfigModel.swift; sourceTree = "<group>"; };
-		02DD80C91E1EAF1A009A3510 /* AccountCredentialsModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AccountCredentialsModel.swift; path = Account/AccountCredentialsModel.swift; sourceTree = "<group>"; };
-		02DD80CC1E1EB2E4009A3510 /* ConfigKeyModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = ConfigKeyModel.swift; path = Account/ConfigKeyModel.swift; sourceTree = "<group>"; };
+		02B22DFA1DF755BB000358C9 /* AccountModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountModel.swift; sourceTree = "<group>"; };
+		02B22DFB1DF755BB000358C9 /* CreateRingAccountViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CreateRingAccountViewModel.swift; sourceTree = "<group>"; };
+		02B22DFE1DF755DB000358C9 /* AccountsService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountsService.swift; sourceTree = "<group>"; };
+		02B22E001DF755E5000358C9 /* MainTabBarViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MainTabBarViewController.swift; sourceTree = "<group>"; };
+		02B22E081DF7585F000358C9 /* DaemonService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DaemonService.swift; sourceTree = "<group>"; };
+		02C9B63E1E1D4E8C00F82F0C /* ServiceEvent.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ServiceEvent.swift; sourceTree = "<group>"; };
+		02DD80C71E1EAD70009A3510 /* AccountConfigModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountConfigModel.swift; sourceTree = "<group>"; };
+		02DD80C91E1EAF1A009A3510 /* AccountCredentialsModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountCredentialsModel.swift; sourceTree = "<group>"; };
+		02DD80CC1E1EB2E4009A3510 /* ConfigKeyModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConfigKeyModel.swift; sourceTree = "<group>"; };
 		043866201D218B1100E06CE2 /* AudioToolbox.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = AudioToolbox.framework; path = System/Library/Frameworks/AudioToolbox.framework; sourceTree = SDKROOT; };
-		043866321D22CE8C00E06CE2 /* MeViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MeViewController.swift; sourceTree = "<group>"; };
 		043866351D22D06500E06CE2 /* AccountTableViewCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountTableViewCell.swift; sourceTree = "<group>"; };
-		043866371D2304A700E06CE2 /* BoolStringExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = BoolStringExtension.swift; path = Extensions/BoolStringExtension.swift; sourceTree = "<group>"; };
-		0438663A1D2313B700E06CE2 /* AccountDetailsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountDetailsViewController.swift; sourceTree = "<group>"; };
+		043866371D2304A700E06CE2 /* BoolStringExtension.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = BoolStringExtension.swift; sourceTree = "<group>"; };
 		043999F31D1C2D9D00E99CD9 /* Ring.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = Ring.app; sourceTree = BUILT_PRODUCTS_DIR; };
 		043999F61D1C2D9D00E99CD9 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
-		04399A001D1C2D9D00E99CD9 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
 		04399A021D1C2D9D00E99CD9 /* Assets.xcassets */ = {isa = PBXFileReference; lastKnownFileType = folder.assetcatalog; path = Assets.xcassets; sourceTree = "<group>"; };
-		04399A051D1C2D9D00E99CD9 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
 		04399A071D1C2D9D00E99CD9 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
 		04399A0C1D1C2D9D00E99CD9 /* RingTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = RingTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
 		04399A101D1C2D9D00E99CD9 /* RingTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = RingTests.swift; sourceTree = "<group>"; };
@@ -221,13 +215,13 @@
 		04399A931D1C2F5800E99CD9 /* libiconv.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libiconv.tbd; path = usr/lib/libiconv.tbd; sourceTree = SDKROOT; };
 		04399A951D1C2F6100E99CD9 /* libbz2.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libbz2.tbd; path = usr/lib/libbz2.tbd; sourceTree = SDKROOT; };
 		04399A961D1C2F6100E99CD9 /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = usr/lib/libz.tbd; sourceTree = SDKROOT; };
-		04399AA51D1C304300E99CD9 /* AccountAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = AccountAdapter.h; path = Bridging/AccountAdapter.h; sourceTree = "<group>"; };
-		04399AA61D1C304300E99CD9 /* AccountAdapter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = AccountAdapter.mm; path = Bridging/AccountAdapter.mm; sourceTree = "<group>"; };
-		04399AA71D1C304300E99CD9 /* DRingAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = DRingAdapter.h; path = Bridging/DRingAdapter.h; sourceTree = "<group>"; };
-		04399AA81D1C304300E99CD9 /* DRingAdapter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = DRingAdapter.mm; path = Bridging/DRingAdapter.mm; sourceTree = "<group>"; };
-		04399AA91D1C304300E99CD9 /* Ring-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = "Ring-Bridging-Header.h"; path = "Bridging/Ring-Bridging-Header.h"; sourceTree = "<group>"; };
-		04399AAA1D1C304300E99CD9 /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = Utils.h; path = Bridging/Utils.h; sourceTree = "<group>"; };
-		04399AAB1D1C304300E99CD9 /* Utils.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = Utils.mm; path = Bridging/Utils.mm; sourceTree = "<group>"; };
+		04399AA51D1C304300E99CD9 /* AccountAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = AccountAdapter.h; sourceTree = "<group>"; };
+		04399AA61D1C304300E99CD9 /* AccountAdapter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = AccountAdapter.mm; sourceTree = "<group>"; };
+		04399AA71D1C304300E99CD9 /* DRingAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = DRingAdapter.h; sourceTree = "<group>"; };
+		04399AA81D1C304300E99CD9 /* DRingAdapter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = DRingAdapter.mm; sourceTree = "<group>"; };
+		04399AA91D1C304300E99CD9 /* Ring-Bridging-Header.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = "Ring-Bridging-Header.h"; sourceTree = "<group>"; };
+		04399AAA1D1C304300E99CD9 /* Utils.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = Utils.h; sourceTree = "<group>"; };
+		04399AAB1D1C304300E99CD9 /* Utils.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = Utils.mm; sourceTree = "<group>"; };
 		04399AB21D1C341A00E99CD9 /* libavcodec.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavcodec.a; path = ../fat/lib/libavcodec.a; sourceTree = "<group>"; };
 		04399AB31D1C341A00E99CD9 /* libavdevice.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavdevice.a; path = ../fat/lib/libavdevice.a; sourceTree = "<group>"; };
 		04399AB41D1C341A00E99CD9 /* libavfilter.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libavfilter.a; path = ../fat/lib/libavfilter.a; sourceTree = "<group>"; };
@@ -275,10 +269,17 @@
 		04399AE11D1C341A00E99CD9 /* libvpx.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libvpx.a; path = ../fat/lib/libvpx.a; sourceTree = "<group>"; };
 		04399AE21D1C341A00E99CD9 /* libx264.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = libx264.a; path = ../fat/lib/libx264.a; sourceTree = "<group>"; };
 		04399AE31D1C341A00E99CD9 /* libyaml-cpp.a */ = {isa = PBXFileReference; lastKnownFileType = archive.ar; name = "libyaml-cpp.a"; path = "../fat/lib/libyaml-cpp.a"; sourceTree = "<group>"; };
-		5516C29E1E71CEFF009D3D2D /* AccountModelHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = AccountModelHelper.swift; path = Account/AccountModelHelper.swift; sourceTree = "<group>"; };
+		1ABE07B91F0C16F100D36361 /* ContactViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContactViewModel.swift; sourceTree = "<group>"; };
+		1ABE07BB1F0C22CC00D36361 /* WalkthroughStoryboard.storyboard */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.storyboard; path = WalkthroughStoryboard.storyboard; sourceTree = "<group>"; };
+		1ABE07BE1F0C22FB00D36361 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/LaunchScreen.storyboard; sourceTree = "<group>"; };
+		1ABE07C01F0C22FB00D36361 /* Base */ = {isa = PBXFileReference; lastKnownFileType = file.storyboard; name = Base; path = Base.lproj/Main.storyboard; sourceTree = "<group>"; };
+		5516C29E1E71CEFF009D3D2D /* AccountModelHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountModelHelper.swift; sourceTree = "<group>"; };
 		5557FD491E81AE850043E394 /* AccountModelHelperTests.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountModelHelperTests.swift; sourceTree = "<group>"; };
-		557086501E8ADB9D001A7CE4 /* SystemAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; name = SystemAdapter.h; path = Bridging/SystemAdapter.h; sourceTree = "<group>"; };
-		557086511E8ADB9D001A7CE4 /* SystemAdapter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; name = SystemAdapter.mm; path = Bridging/SystemAdapter.mm; sourceTree = "<group>"; };
+		557086501E8ADB9D001A7CE4 /* SystemAdapter.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = SystemAdapter.h; sourceTree = "<group>"; };
+		557086511E8ADB9D001A7CE4 /* SystemAdapter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = SystemAdapter.mm; sourceTree = "<group>"; };
+		5628B41A1F0C358D008B1E11 /* AccountDetailsViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = AccountDetailsViewController.swift; sourceTree = "<group>"; };
+		5628B41B1F0C358D008B1E11 /* MeViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MeViewController.swift; sourceTree = "<group>"; };
+		5628B4201F0C35C8008B1E11 /* WelcomeViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WelcomeViewController.swift; sourceTree = "<group>"; };
 		562FB6CC1EFAD18A00C61A78 /* ConversationViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConversationViewController.swift; sourceTree = "<group>"; };
 		56308BA51EA00E5700660275 /* NameRegistrationResponse.h */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.h; path = NameRegistrationResponse.h; sourceTree = "<group>"; };
 		56308BA61EA00E5700660275 /* NameRegistrationResponse.m */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.c.objc; path = NameRegistrationResponse.m; sourceTree = "<group>"; };
@@ -292,7 +293,6 @@
 		564C445F1E943C37000F92B1 /* NameRegistrationAdapter.mm */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.cpp.objcpp; path = NameRegistrationAdapter.mm; sourceTree = "<group>"; };
 		564C44611E943DE6000F92B1 /* NameService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NameService.swift; sourceTree = "<group>"; };
 		564C44631E943E1E000F92B1 /* NameRegistrationAdapterDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = NameRegistrationAdapterDelegate.swift; sourceTree = "<group>"; };
-		56559B161EEED50D00BF20E1 /* Colors.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Colors.swift; sourceTree = "<group>"; };
 		56559B0D1EE8777600BF20E1 /* RxRealm.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = RxRealm.framework; path = Carthage/Build/iOS/RxRealm.framework; sourceTree = "<group>"; };
 		56559B131EE89E7900BF20E1 /* DeviceModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DeviceModel.swift; sourceTree = "<group>"; };
 		5669A7F91EA904AF003C7B93 /* SwitchCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = SwitchCell.xib; sourceTree = "<group>"; };
@@ -300,7 +300,6 @@
 		5669A7FD1EA904E4003C7B93 /* TextCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = TextCell.xib; sourceTree = "<group>"; };
 		5669A8021EAA58E6003C7B93 /* LinkDeviceToAccountViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = LinkDeviceToAccountViewController.swift; sourceTree = "<group>"; };
 		568F56721EA7E38F00132D7D /* PKHUD.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = PKHUD.framework; path = Carthage/Build/iOS/PKHUD.framework; sourceTree = "<group>"; };
-		56AC64D41E7C7F4000EA1AA9 /* WelcomeViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WelcomeViewController.swift; sourceTree = "<group>"; };
 		56AC64DA1E8012CA00EA1AA9 /* Base */ = {isa = PBXFileReference; lastKnownFileType = text.plist.strings; name = Base; path = Base.lproj/Walkthrough.strings; sourceTree = "<group>"; };
 		56AC64DE1E804ECC00EA1AA9 /* SwitchCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SwitchCell.swift; sourceTree = "<group>"; };
 		56AC64E01E80542300EA1AA9 /* TextFieldCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = TextFieldCell.swift; sourceTree = "<group>"; };
@@ -312,15 +311,15 @@
 		56BBC9A11ED714DF00CDAF8B /* ConversationsService.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConversationsService.swift; sourceTree = "<group>"; };
 		56BBC9A51ED7151500CDAF8B /* MessageModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageModel.swift; sourceTree = "<group>"; };
 		56BBC9A71ED7152300CDAF8B /* SmartlistViewController.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SmartlistViewController.swift; sourceTree = "<group>"; };
-		56BBC9A91ED7153800CDAF8B /* Global.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = Global.strings; sourceTree = "<group>"; };
-		56BBC9AB1ED7154300CDAF8B /* Smartlist.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; path = Smartlist.strings; sourceTree = "<group>"; };
+		56BBC9A91ED7153800CDAF8B /* Global.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = Global.strings; path = Base.lproj/Global.strings; sourceTree = "<group>"; };
+		56BBC9AB1ED7154300CDAF8B /* Smartlist.strings */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.strings; name = Smartlist.strings; path = Base.lproj/Smartlist.strings; sourceTree = "<group>"; };
 		56BBC9AE1ED7155700CDAF8B /* ConversationModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConversationModel.swift; sourceTree = "<group>"; };
 		56BBC9AF1ED7155700CDAF8B /* ConversationViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConversationViewModel.swift; sourceTree = "<group>"; };
 		56BBC9B21ED7156500CDAF8B /* ConversationCell.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ConversationCell.swift; sourceTree = "<group>"; };
 		56BBC9B31ED7156500CDAF8B /* ConversationCell.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = ConversationCell.xib; sourceTree = "<group>"; };
 		56BBC9B71ED715FE00CDAF8B /* ContactModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContactModel.swift; sourceTree = "<group>"; };
 		56BBC9B81ED715FE00CDAF8B /* ContactHelper.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = ContactHelper.swift; sourceTree = "<group>"; };
-		56BBC9BB1ED7161200CDAF8B /* Date+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; name = "Date+Helpers.swift"; path = "Extensions/Date+Helpers.swift"; sourceTree = "<group>"; };
+		56BBC9BB1ED7161200CDAF8B /* Date+Helpers.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = "Date+Helpers.swift"; sourceTree = "<group>"; };
 		56BBC9BE1ED7168400CDAF8B /* SmartlistViewModel.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = SmartlistViewModel.swift; sourceTree = "<group>"; };
 		56BBC9C71EDC5E7000CDAF8B /* MessageAccessoryView.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MessageAccessoryView.swift; sourceTree = "<group>"; };
 		56BBC9C81EDC5E7000CDAF8B /* MessageAccessoryView.xib */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = file.xib; path = MessageAccessoryView.xib; sourceTree = "<group>"; };
@@ -427,11 +426,13 @@
 			isa = PBXGroup;
 			children = (
 				56AC64DD1E804EB500EA1AA9 /* Cells */,
+				5628B4201F0C35C8008B1E11 /* WelcomeViewController.swift */,
 				0273C3031E0C68B100CF00BA /* CreateProfileViewController.swift */,
 				0273C3041E0C68B100CF00BA /* CreateRingAccountViewController.swift */,
 				5669A8021EAA58E6003C7B93 /* LinkDeviceToAccountViewController.swift */,
+				1ABE07BB1F0C22CC00D36361 /* WalkthroughStoryboard.storyboard */,
 			);
-			name = Walkthrough;
+			path = Walkthrough;
 			sourceTree = "<group>";
 		};
 		028568231DF60E5C003A8D8D /* Fixtures */ = {
@@ -469,16 +470,6 @@
 			name = Frameworks;
 			sourceTree = "<group>";
 		};
-		02DE64671DDD15FC007D20EC /* Storyboards */ = {
-			isa = PBXGroup;
-			children = (
-				02B22E021DF755F7000358C9 /* WalkthroughStoryboard.storyboard */,
-				043999FF1D1C2D9D00E99CD9 /* Main.storyboard */,
-				04399A041D1C2D9D00E99CD9 /* LaunchScreen.storyboard */,
-			);
-			name = Storyboards;
-			sourceTree = "<group>";
-		};
 		02E1A0261DDE4C2E00D75B59 /* Services */ = {
 			isa = PBXGroup;
 			children = (
@@ -491,7 +482,7 @@
 				564C44611E943DE6000F92B1 /* NameService.swift */,
 				564C44631E943E1E000F92B1 /* NameRegistrationAdapterDelegate.swift */,
 			);
-			name = Services;
+			path = Services;
 			sourceTree = "<group>";
 		};
 		02E1A0271DDE4C3900D75B59 /* Account */ = {
@@ -505,7 +496,7 @@
 				02DD80CC1E1EB2E4009A3510 /* ConfigKeyModel.swift */,
 				56559B131EE89E7900BF20E1 /* DeviceModel.swift */,
 			);
-			name = Account;
+			path = Account;
 			sourceTree = "<group>";
 		};
 		02EFCACF1E0C3DD600FD8ED1 /* Bridging */ = {
@@ -523,7 +514,7 @@
 				563AEC741EA66487003A5641 /* AccountCreation */,
 				563AEC731EA6627F003A5641 /* NameRegistration */,
 			);
-			name = Bridging;
+			path = Bridging;
 			sourceTree = "<group>";
 		};
 		02F9B1C21DDDFF0E00FE123D /* MainTabBar */ = {
@@ -531,17 +522,7 @@
 			children = (
 				02B22E001DF755E5000358C9 /* MainTabBarViewController.swift */,
 			);
-			name = MainTabBar;
-			sourceTree = "<group>";
-		};
-		0438662D1D22C87500E06CE2 /* ViewController */ = {
-			isa = PBXGroup;
-			children = (
-				043866321D22CE8C00E06CE2 /* MeViewController.swift */,
-				0438663A1D2313B700E06CE2 /* AccountDetailsViewController.swift */,
-				56AC64D41E7C7F4000EA1AA9 /* WelcomeViewController.swift */,
-			);
-			name = ViewController;
+			path = MainTabBar;
 			sourceTree = "<group>";
 		};
 		043866341D22D04E00E06CE2 /* UI */ = {
@@ -551,7 +532,7 @@
 				043866351D22D06500E06CE2 /* AccountTableViewCell.swift */,
 				56AC650D1E85694D00EA1AA9 /* RoundedTextField.swift */,
 			);
-			name = UI;
+			path = UI;
 			sourceTree = "<group>";
 		};
 		043866391D2307C000E06CE2 /* Extensions */ = {
@@ -560,7 +541,7 @@
 				56BBC9BB1ED7161200CDAF8B /* Date+Helpers.swift */,
 				043866371D2304A700E06CE2 /* BoolStringExtension.swift */,
 			);
-			name = Extensions;
+			path = Extensions;
 			sourceTree = "<group>";
 		};
 		043999EA1D1C2D9D00E99CD9 = {
@@ -601,10 +582,11 @@
 				02E1A0271DDE4C3900D75B59 /* Account */,
 				02E1A0261DDE4C2E00D75B59 /* Services */,
 				02F9B1C21DDDFF0E00FE123D /* MainTabBar */,
-				02DE64671DDD15FC007D20EC /* Storyboards */,
 				043866341D22D04E00E06CE2 /* UI */,
-				0438662D1D22C87500E06CE2 /* ViewController */,
 				043866391D2307C000E06CE2 /* Extensions */,
+				5628B4191F0C358D008B1E11 /* Settings */,
+				1ABE07BD1F0C22FB00D36361 /* LaunchScreen.storyboard */,
+				1ABE07BF1F0C22FB00D36361 /* Main.storyboard */,
 				043999F61D1C2D9D00E99CD9 /* AppDelegate.swift */,
 				04399A021D1C2D9D00E99CD9 /* Assets.xcassets */,
 				04399A071D1C2D9D00E99CD9 /* Info.plist */,
@@ -706,6 +688,15 @@
 			name = SYS_DEPS;
 			sourceTree = "<group>";
 		};
+		5628B4191F0C358D008B1E11 /* Settings */ = {
+			isa = PBXGroup;
+			children = (
+				5628B41A1F0C358D008B1E11 /* AccountDetailsViewController.swift */,
+				5628B41B1F0C358D008B1E11 /* MeViewController.swift */,
+			);
+			path = Settings;
+			sourceTree = "<group>";
+		};
 		563AEC731EA6627F003A5641 /* NameRegistration */ = {
 			isa = PBXGroup;
 			children = (
@@ -716,7 +707,7 @@
 				56308BA51EA00E5700660275 /* NameRegistrationResponse.h */,
 				56308BA61EA00E5700660275 /* NameRegistrationResponse.m */,
 			);
-			name = NameRegistration;
+			path = NameRegistration;
 			sourceTree = "<group>";
 		};
 		563AEC741EA66487003A5641 /* AccountCreation */ = {
@@ -727,7 +718,7 @@
 				563AEC751EA664C0003A5641 /* RegistrationResponse.h */,
 				563AEC761EA664C0003A5641 /* RegistrationResponse.m */,
 			);
-			name = AccountCreation;
+			path = AccountCreation;
 			sourceTree = "<group>";
 		};
 		564C44571E8D7F68000F92B1 /* Constants */ = {
@@ -736,9 +727,8 @@
 				56BBC9E61EDE1DDF00CDAF8B /* Colors.swift */,
 				564C44581E8D7F8F000F92B1 /* LocalizedStringTableNames.swift */,
 				564C445A1E8EA44E000F92B1 /* Durations.swift */,
-				56559B161EEED50D00BF20E1 /* Colors.swift */,
 			);
-			name = Constants;
+			path = Constants;
 			sourceTree = "<group>";
 		};
 		56AC64D61E80121200EA1AA9 /* Internationalization */ = {
@@ -762,6 +752,7 @@
 				5669A7FD1EA904E4003C7B93 /* TextCell.xib */,
 			);
 			name = Cells;
+			path = Cell;
 			sourceTree = "<group>";
 		};
 		56BBC9A41ED7150200CDAF8B /* Messages */ = {
@@ -774,7 +765,7 @@
 				56BBC9CC1EDC5E7000CDAF8B /* MessageViewModel.swift */,
 				56BBC9A51ED7151500CDAF8B /* MessageModel.swift */,
 			);
-			name = Messages;
+			path = Messages;
 			sourceTree = "<group>";
 		};
 		56BBC9AD1ED7154800CDAF8B /* Conversations */ = {
@@ -787,16 +778,17 @@
 				56BBC9AE1ED7155700CDAF8B /* ConversationModel.swift */,
 				56BBC9AF1ED7155700CDAF8B /* ConversationViewModel.swift */,
 			);
-			name = Conversations;
+			path = Conversations;
 			sourceTree = "<group>";
 		};
 		56BBC9B61ED7158600CDAF8B /* Contacts */ = {
 			isa = PBXGroup;
 			children = (
+				1ABE07B91F0C16F100D36361 /* ContactViewModel.swift */,
 				56BBC9B71ED715FE00CDAF8B /* ContactModel.swift */,
 				56BBC9B81ED715FE00CDAF8B /* ContactHelper.swift */,
 			);
-			name = Contacts;
+			path = Contacts;
 			sourceTree = "<group>";
 		};
 		56BBC9BD1ED7165800CDAF8B /* Smartlist */ = {
@@ -805,7 +797,7 @@
 				56BBC9BE1ED7168400CDAF8B /* SmartlistViewModel.swift */,
 				56BBC9A71ED7152300CDAF8B /* SmartlistViewController.swift */,
 			);
-			name = Smartlist;
+			path = Smartlist;
 			sourceTree = "<group>";
 		};
 /* End PBXGroup section */
@@ -922,17 +914,18 @@
 			isa = PBXResourcesBuildPhase;
 			buildActionMask = 2147483647;
 			files = (
-				02B22E031DF755F7000358C9 /* WalkthroughStoryboard.storyboard in Resources */,
 				5669A7FE1EA904E4003C7B93 /* TextCell.xib in Resources */,
 				56BBC9AC1ED7154300CDAF8B /* Smartlist.strings in Resources */,
 				56BBC9AA1ED7153800CDAF8B /* Global.strings in Resources */,
 				56BBC9CE1EDC5E7000CDAF8B /* MessageAccessoryView.xib in Resources */,
-				56BBC9D51EDCA85900CDAF8B /* Main.storyboard in Resources */,
 				04399A031D1C2D9D00E99CD9 /* Assets.xcassets in Resources */,
 				56BBC9D01EDC5E7000CDAF8B /* MessageCell.xib in Resources */,
 				5669A7FA1EA904AF003C7B93 /* SwitchCell.xib in Resources */,
+				1ABE07C21F0C22FB00D36361 /* Main.storyboard in Resources */,
 				56BBC9B51ED7156500CDAF8B /* ConversationCell.xib in Resources */,
 				5669A7FC1EA904D2003C7B93 /* TextFieldCell.xib in Resources */,
+				1ABE07C11F0C22FB00D36361 /* LaunchScreen.storyboard in Resources */,
+				1ABE07BC1F0C22CC00D36361 /* WalkthroughStoryboard.storyboard in Resources */,
 				56BBC9E11EDDCA5900CDAF8B /* Walkthrough.strings in Resources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -998,8 +991,9 @@
 				56BBC9A81ED7152300CDAF8B /* SmartlistViewController.swift in Sources */,
 				5516C29F1E71CEFF009D3D2D /* AccountModelHelper.swift in Sources */,
 				56559B141EE89E7900BF20E1 /* DeviceModel.swift in Sources */,
-				569D86581ECF62510064D88B /* ContactsAdapter.mm in Sources */,
 				56308BA71EA00E5700660275 /* NameRegistrationResponse.m in Sources */,
+				5628B4211F0C35C8008B1E11 /* WelcomeViewController.swift in Sources */,
+				5628B41C1F0C358D008B1E11 /* AccountDetailsViewController.swift in Sources */,
 				56AC64E11E80542300EA1AA9 /* TextFieldCell.swift in Sources */,
 				56AC64E31E805F0200EA1AA9 /* TextCell.swift in Sources */,
 				56AC650E1E85694D00EA1AA9 /* RoundedTextField.swift in Sources */,
@@ -1008,7 +1002,6 @@
 				564C44641E943E1E000F92B1 /* NameRegistrationAdapterDelegate.swift in Sources */,
 				043999F71D1C2D9D00E99CD9 /* AppDelegate.swift in Sources */,
 				02B22DFC1DF755BB000358C9 /* AccountModel.swift in Sources */,
-				043866331D22CE8C00E06CE2 /* MeViewController.swift in Sources */,
 				56AC64DF1E804ECC00EA1AA9 /* SwitchCell.swift in Sources */,
 				56BBC9E71EDE1DDF00CDAF8B /* Colors.swift in Sources */,
 				56BBC9B91ED715FE00CDAF8B /* ContactModel.swift in Sources */,
@@ -1019,7 +1012,6 @@
 				563AEC771EA664C0003A5641 /* RegistrationResponse.m in Sources */,
 				02B22DFD1DF755BB000358C9 /* CreateRingAccountViewModel.swift in Sources */,
 				564C445B1E8EA44E000F92B1 /* Durations.swift in Sources */,
-				0438663B1D2313B700E06CE2 /* AccountDetailsViewController.swift in Sources */,
 				56BBC9DF1EDDC9D300CDAF8B /* LookupNameResponse.m in Sources */,
 				56BBC9CD1EDC5E7000CDAF8B /* MessageAccessoryView.swift in Sources */,
 				02DD80CA1E1EAF1A009A3510 /* AccountCredentialsModel.swift in Sources */,
@@ -1028,16 +1020,17 @@
 				562FB6CD1EFAD18A00C61A78 /* ConversationViewController.swift in Sources */,
 				564C44621E943DE6000F92B1 /* NameService.swift in Sources */,
 				56BBC9E01EDDC9E600CDAF8B /* ConversationViewModel.swift in Sources */,
+				1ABE07BA1F0C16F100D36361 /* ContactViewModel.swift in Sources */,
 				043866361D22D06500E06CE2 /* AccountTableViewCell.swift in Sources */,
 				04399AAD1D1C304300E99CD9 /* DRingAdapter.mm in Sources */,
 				0273C2FF1E0C438F00CF00BA /* AccountAdapterDelegate.swift in Sources */,
 				02B22DFF1DF755DB000358C9 /* AccountsService.swift in Sources */,
+				5628B41D1F0C358D008B1E11 /* MeViewController.swift in Sources */,
 				56BBC9A61ED7151500CDAF8B /* MessageModel.swift in Sources */,
 				56BBC9A21ED714DF00CDAF8B /* MessagesAdapterDelegate.swift in Sources */,
 				56BBC9B41ED7156500CDAF8B /* ConversationCell.swift in Sources */,
 				564C44601E943C37000F92B1 /* NameRegistrationAdapter.mm in Sources */,
 				564C44591E8D7F8F000F92B1 /* LocalizedStringTableNames.swift in Sources */,
-				56AC64D51E7C7F4000EA1AA9 /* WelcomeViewController.swift in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
 		};
@@ -1047,12 +1040,9 @@
 			files = (
 				024B61311DF7656A00C4F9DE /* FixtureFailInitDRingAdapter.mm in Sources */,
 				5557FD4A1E81AE850043E394 /* AccountModelHelperTests.swift in Sources */,
-				024B61331DF765CA00C4F9DE /* DaemonService.swift in Sources */,
 				04399A111D1C2D9D00E99CD9 /* RingTests.swift in Sources */,
 				029CE9D71E1D8C860000C8E1 /* ServiceEventTests.swift in Sources */,
-				5557FD4D1E81AFF50043E394 /* ConfigKeyModel.swift in Sources */,
 				024B612C1DF7654F00C4F9DE /* DaemonServiceTests.swift in Sources */,
-				029CE9D81E1D8DC70000C8E1 /* ServiceEvent.swift in Sources */,
 				024B61321DF7656A00C4F9DE /* FixtureFailStartDRingAdapter.mm in Sources */,
 			);
 			runOnlyForDeploymentPostprocessing = 0;
@@ -1081,20 +1071,20 @@
 /* End PBXTargetDependency section */
 
 /* Begin PBXVariantGroup section */
-		043999FF1D1C2D9D00E99CD9 /* Main.storyboard */ = {
+		1ABE07BD1F0C22FB00D36361 /* LaunchScreen.storyboard */ = {
 			isa = PBXVariantGroup;
 			children = (
-				04399A001D1C2D9D00E99CD9 /* Base */,
+				1ABE07BE1F0C22FB00D36361 /* Base */,
 			);
-			name = Main.storyboard;
+			name = LaunchScreen.storyboard;
 			sourceTree = "<group>";
 		};
-		04399A041D1C2D9D00E99CD9 /* LaunchScreen.storyboard */ = {
+		1ABE07BF1F0C22FB00D36361 /* Main.storyboard */ = {
 			isa = PBXVariantGroup;
 			children = (
-				04399A051D1C2D9D00E99CD9 /* Base */,
+				1ABE07C01F0C22FB00D36361 /* Base */,
 			);
-			name = LaunchScreen.storyboard;
+			name = Main.storyboard;
 			sourceTree = "<group>";
 		};
 		56AC64DB1E8012CA00EA1AA9 /* Walkthrough.strings */ = {
diff --git a/Ring/Ring/DeviceModel.swift b/Ring/Ring/Account/DeviceModel.swift
similarity index 100%
rename from Ring/Ring/DeviceModel.swift
rename to Ring/Ring/Account/DeviceModel.swift
diff --git a/Ring/Ring/Global.strings b/Ring/Ring/Base.lproj/Global.strings
similarity index 100%
rename from Ring/Ring/Global.strings
rename to Ring/Ring/Base.lproj/Global.strings
diff --git a/Ring/Ring/Smartlist.strings b/Ring/Ring/Base.lproj/Smartlist.strings
similarity index 100%
rename from Ring/Ring/Smartlist.strings
rename to Ring/Ring/Base.lproj/Smartlist.strings
diff --git a/Ring/Ring/Bridging/AccountAdapter.h b/Ring/Ring/Bridging/AccountCreation/AccountAdapter.h
similarity index 100%
rename from Ring/Ring/Bridging/AccountAdapter.h
rename to Ring/Ring/Bridging/AccountCreation/AccountAdapter.h
diff --git a/Ring/Ring/Bridging/AccountAdapter.mm b/Ring/Ring/Bridging/AccountCreation/AccountAdapter.mm
similarity index 100%
rename from Ring/Ring/Bridging/AccountAdapter.mm
rename to Ring/Ring/Bridging/AccountCreation/AccountAdapter.mm
diff --git a/Ring/Ring/RegistrationResponse.h b/Ring/Ring/Bridging/AccountCreation/RegistrationResponse.h
similarity index 100%
rename from Ring/Ring/RegistrationResponse.h
rename to Ring/Ring/Bridging/AccountCreation/RegistrationResponse.h
diff --git a/Ring/Ring/RegistrationResponse.m b/Ring/Ring/Bridging/AccountCreation/RegistrationResponse.m
similarity index 100%
rename from Ring/Ring/RegistrationResponse.m
rename to Ring/Ring/Bridging/AccountCreation/RegistrationResponse.m
diff --git a/Ring/Ring/MessagesAdapter.h b/Ring/Ring/Bridging/MessagesAdapter.h
similarity index 100%
rename from Ring/Ring/MessagesAdapter.h
rename to Ring/Ring/Bridging/MessagesAdapter.h
diff --git a/Ring/Ring/MessagesAdapter.mm b/Ring/Ring/Bridging/MessagesAdapter.mm
similarity index 100%
rename from Ring/Ring/MessagesAdapter.mm
rename to Ring/Ring/Bridging/MessagesAdapter.mm
diff --git a/Ring/Ring/LookupNameResponse.h b/Ring/Ring/Bridging/NameRegistration/LookupNameResponse.h
similarity index 100%
rename from Ring/Ring/LookupNameResponse.h
rename to Ring/Ring/Bridging/NameRegistration/LookupNameResponse.h
diff --git a/Ring/Ring/LookupNameResponse.m b/Ring/Ring/Bridging/NameRegistration/LookupNameResponse.m
similarity index 100%
rename from Ring/Ring/LookupNameResponse.m
rename to Ring/Ring/Bridging/NameRegistration/LookupNameResponse.m
diff --git a/Ring/Ring/NameRegistrationAdapter.h b/Ring/Ring/Bridging/NameRegistration/NameRegistrationAdapter.h
similarity index 100%
rename from Ring/Ring/NameRegistrationAdapter.h
rename to Ring/Ring/Bridging/NameRegistration/NameRegistrationAdapter.h
diff --git a/Ring/Ring/NameRegistrationAdapter.mm b/Ring/Ring/Bridging/NameRegistration/NameRegistrationAdapter.mm
similarity index 100%
rename from Ring/Ring/NameRegistrationAdapter.mm
rename to Ring/Ring/Bridging/NameRegistration/NameRegistrationAdapter.mm
diff --git a/Ring/Ring/NameRegistrationResponse.h b/Ring/Ring/Bridging/NameRegistration/NameRegistrationResponse.h
similarity index 100%
rename from Ring/Ring/NameRegistrationResponse.h
rename to Ring/Ring/Bridging/NameRegistration/NameRegistrationResponse.h
diff --git a/Ring/Ring/NameRegistrationResponse.m b/Ring/Ring/Bridging/NameRegistration/NameRegistrationResponse.m
similarity index 100%
rename from Ring/Ring/NameRegistrationResponse.m
rename to Ring/Ring/Bridging/NameRegistration/NameRegistrationResponse.m
diff --git a/Ring/Ring/Colors.swift b/Ring/Ring/Constants/Colors.swift
similarity index 100%
rename from Ring/Ring/Colors.swift
rename to Ring/Ring/Constants/Colors.swift
diff --git a/Ring/Ring/Durations.swift b/Ring/Ring/Constants/Durations.swift
similarity index 100%
rename from Ring/Ring/Durations.swift
rename to Ring/Ring/Constants/Durations.swift
diff --git a/Ring/Ring/LocalizedStringTableNames.swift b/Ring/Ring/Constants/LocalizedStringTableNames.swift
similarity index 100%
rename from Ring/Ring/LocalizedStringTableNames.swift
rename to Ring/Ring/Constants/LocalizedStringTableNames.swift
diff --git a/Ring/Ring/ContactHelper.swift b/Ring/Ring/Contacts/ContactHelper.swift
similarity index 100%
rename from Ring/Ring/ContactHelper.swift
rename to Ring/Ring/Contacts/ContactHelper.swift
diff --git a/Ring/Ring/ContactModel.swift b/Ring/Ring/Contacts/ContactModel.swift
similarity index 100%
rename from Ring/Ring/ContactModel.swift
rename to Ring/Ring/Contacts/ContactModel.swift
diff --git a/Ring/Ring/ContactViewModel.swift b/Ring/Ring/Contacts/ContactViewModel.swift
similarity index 100%
rename from Ring/Ring/ContactViewModel.swift
rename to Ring/Ring/Contacts/ContactViewModel.swift
diff --git a/Ring/Ring/ConversationCell.swift b/Ring/Ring/Conversations/ConversationCell.swift
similarity index 100%
rename from Ring/Ring/ConversationCell.swift
rename to Ring/Ring/Conversations/ConversationCell.swift
diff --git a/Ring/Ring/ConversationCell.xib b/Ring/Ring/Conversations/ConversationCell.xib
similarity index 100%
rename from Ring/Ring/ConversationCell.xib
rename to Ring/Ring/Conversations/ConversationCell.xib
diff --git a/Ring/Ring/ConversationModel.swift b/Ring/Ring/Conversations/ConversationModel.swift
similarity index 100%
rename from Ring/Ring/ConversationModel.swift
rename to Ring/Ring/Conversations/ConversationModel.swift
diff --git a/Ring/Ring/ConversationSection.swift b/Ring/Ring/Conversations/ConversationSection.swift
similarity index 100%
rename from Ring/Ring/ConversationSection.swift
rename to Ring/Ring/Conversations/ConversationSection.swift
diff --git a/Ring/Ring/ConversationViewController.swift b/Ring/Ring/Conversations/ConversationViewController.swift
similarity index 100%
rename from Ring/Ring/ConversationViewController.swift
rename to Ring/Ring/Conversations/ConversationViewController.swift
diff --git a/Ring/Ring/ConversationViewModel.swift b/Ring/Ring/Conversations/ConversationViewModel.swift
similarity index 100%
rename from Ring/Ring/ConversationViewModel.swift
rename to Ring/Ring/Conversations/ConversationViewModel.swift
diff --git a/Ring/Ring/MessageAccessoryView.swift b/Ring/Ring/Messages/MessageAccessoryView.swift
similarity index 100%
rename from Ring/Ring/MessageAccessoryView.swift
rename to Ring/Ring/Messages/MessageAccessoryView.swift
diff --git a/Ring/Ring/MessageAccessoryView.xib b/Ring/Ring/Messages/MessageAccessoryView.xib
similarity index 100%
rename from Ring/Ring/MessageAccessoryView.xib
rename to Ring/Ring/Messages/MessageAccessoryView.xib
diff --git a/Ring/Ring/MessageCell.swift b/Ring/Ring/Messages/MessageCell.swift
similarity index 100%
rename from Ring/Ring/MessageCell.swift
rename to Ring/Ring/Messages/MessageCell.swift
diff --git a/Ring/Ring/MessageCell.xib b/Ring/Ring/Messages/MessageCell.xib
similarity index 100%
rename from Ring/Ring/MessageCell.xib
rename to Ring/Ring/Messages/MessageCell.xib
diff --git a/Ring/Ring/MessageModel.swift b/Ring/Ring/Messages/MessageModel.swift
similarity index 100%
rename from Ring/Ring/MessageModel.swift
rename to Ring/Ring/Messages/MessageModel.swift
diff --git a/Ring/Ring/MessageViewModel.swift b/Ring/Ring/Messages/MessageViewModel.swift
similarity index 100%
rename from Ring/Ring/MessageViewModel.swift
rename to Ring/Ring/Messages/MessageViewModel.swift
diff --git a/Ring/Ring/ConversationsService.swift b/Ring/Ring/Services/ConversationsService.swift
similarity index 100%
rename from Ring/Ring/ConversationsService.swift
rename to Ring/Ring/Services/ConversationsService.swift
diff --git a/Ring/Ring/MessagesAdapterDelegate.swift b/Ring/Ring/Services/MessagesAdapterDelegate.swift
similarity index 100%
rename from Ring/Ring/MessagesAdapterDelegate.swift
rename to Ring/Ring/Services/MessagesAdapterDelegate.swift
diff --git a/Ring/Ring/NameRegistrationAdapterDelegate.swift b/Ring/Ring/Services/NameRegistrationAdapterDelegate.swift
similarity index 100%
rename from Ring/Ring/NameRegistrationAdapterDelegate.swift
rename to Ring/Ring/Services/NameRegistrationAdapterDelegate.swift
diff --git a/Ring/Ring/NameService.swift b/Ring/Ring/Services/NameService.swift
similarity index 100%
rename from Ring/Ring/NameService.swift
rename to Ring/Ring/Services/NameService.swift
diff --git a/Ring/Ring/AccountDetailsViewController.swift b/Ring/Ring/Settings/AccountDetailsViewController.swift
similarity index 100%
rename from Ring/Ring/AccountDetailsViewController.swift
rename to Ring/Ring/Settings/AccountDetailsViewController.swift
diff --git a/Ring/Ring/MeViewController.swift b/Ring/Ring/Settings/MeViewController.swift
similarity index 100%
rename from Ring/Ring/MeViewController.swift
rename to Ring/Ring/Settings/MeViewController.swift
diff --git a/Ring/Ring/SmartlistViewController.swift b/Ring/Ring/Smartlist/SmartlistViewController.swift
similarity index 100%
rename from Ring/Ring/SmartlistViewController.swift
rename to Ring/Ring/Smartlist/SmartlistViewController.swift
diff --git a/Ring/Ring/SmartlistViewModel.swift b/Ring/Ring/Smartlist/SmartlistViewModel.swift
similarity index 100%
rename from Ring/Ring/SmartlistViewModel.swift
rename to Ring/Ring/Smartlist/SmartlistViewModel.swift
diff --git a/Ring/Ring/AccountTableViewCell.swift b/Ring/Ring/UI/AccountTableViewCell.swift
similarity index 100%
rename from Ring/Ring/AccountTableViewCell.swift
rename to Ring/Ring/UI/AccountTableViewCell.swift
diff --git a/Ring/Ring/RoundedTextField.swift b/Ring/Ring/UI/RoundedTextField.swift
similarity index 100%
rename from Ring/Ring/RoundedTextField.swift
rename to Ring/Ring/UI/RoundedTextField.swift
diff --git a/Ring/Ring/SwitchCell.swift b/Ring/Ring/Walkthrough/Cell/SwitchCell.swift
similarity index 100%
rename from Ring/Ring/SwitchCell.swift
rename to Ring/Ring/Walkthrough/Cell/SwitchCell.swift
diff --git a/Ring/Ring/SwitchCell.xib b/Ring/Ring/Walkthrough/Cell/SwitchCell.xib
similarity index 100%
rename from Ring/Ring/SwitchCell.xib
rename to Ring/Ring/Walkthrough/Cell/SwitchCell.xib
diff --git a/Ring/Ring/TextCell.swift b/Ring/Ring/Walkthrough/Cell/TextCell.swift
similarity index 100%
rename from Ring/Ring/TextCell.swift
rename to Ring/Ring/Walkthrough/Cell/TextCell.swift
diff --git a/Ring/Ring/TextCell.xib b/Ring/Ring/Walkthrough/Cell/TextCell.xib
similarity index 100%
rename from Ring/Ring/TextCell.xib
rename to Ring/Ring/Walkthrough/Cell/TextCell.xib
diff --git a/Ring/Ring/TextFieldCell.swift b/Ring/Ring/Walkthrough/Cell/TextFieldCell.swift
similarity index 100%
rename from Ring/Ring/TextFieldCell.swift
rename to Ring/Ring/Walkthrough/Cell/TextFieldCell.swift
diff --git a/Ring/Ring/TextFieldCell.xib b/Ring/Ring/Walkthrough/Cell/TextFieldCell.xib
similarity index 100%
rename from Ring/Ring/TextFieldCell.xib
rename to Ring/Ring/Walkthrough/Cell/TextFieldCell.xib
diff --git a/Ring/Ring/LinkDeviceToAccountViewController.swift b/Ring/Ring/Walkthrough/LinkDeviceToAccountViewController.swift
similarity index 100%
rename from Ring/Ring/LinkDeviceToAccountViewController.swift
rename to Ring/Ring/Walkthrough/LinkDeviceToAccountViewController.swift
diff --git a/Ring/Ring/WelcomeViewController.swift b/Ring/Ring/Walkthrough/WelcomeViewController.swift
similarity index 100%
rename from Ring/Ring/WelcomeViewController.swift
rename to Ring/Ring/Walkthrough/WelcomeViewController.swift
diff --git a/Ring/RingTests/DaemonServiceTests.swift b/Ring/RingTests/DaemonServiceTests.swift
index a90c0c412ae8648bf11044d39b4d4e412e7131b5..bf814c26a035f22ccbc7bb9d1b31865a45dae1be 100644
--- a/Ring/RingTests/DaemonServiceTests.swift
+++ b/Ring/RingTests/DaemonServiceTests.swift
@@ -19,6 +19,7 @@
  */
 
 import XCTest
+@testable import Ring
 
 /**
  A test class designed to validate that the daemon service runs as expected.
diff --git a/Ring/RingTests/ServiceEventTests.swift b/Ring/RingTests/ServiceEventTests.swift
index 8c525d1cd30eee2cf60b22d8491505d9aff35596..6836c142e8ae18487830d8b21a2dd460880a9e79 100644
--- a/Ring/RingTests/ServiceEventTests.swift
+++ b/Ring/RingTests/ServiceEventTests.swift
@@ -19,6 +19,7 @@
  */
 
 import XCTest
+@testable import Ring
 
 /**
  A test class designed to validate that the ServiceEvent class is reacting properly.