Design Changes and cleanup