diff --git a/src/core_plugins/kibana/public/visualize/index.js b/src/core_plugins/kibana/public/visualize/index.js
index 74924db7e2528..ac5db4b441182 100644
--- a/src/core_plugins/kibana/public/visualize/index.js
+++ b/src/core_plugins/kibana/public/visualize/index.js
@@ -1,33 +1,61 @@
-import 'plugins/kibana/visualize/styles/main.less';
-import 'plugins/kibana/visualize/editor/editor';
-import 'plugins/kibana/visualize/wizard/wizard';
-import 'plugins/kibana/visualize/editor/add_bucket_agg';
-import 'plugins/kibana/visualize/editor/agg';
-import 'plugins/kibana/visualize/editor/agg_add';
-import 'plugins/kibana/visualize/editor/agg_filter';
-import 'plugins/kibana/visualize/editor/agg_group';
-import 'plugins/kibana/visualize/editor/agg_param';
-import 'plugins/kibana/visualize/editor/agg_params';
-import 'plugins/kibana/visualize/editor/nesting_indicator';
-import 'plugins/kibana/visualize/editor/sidebar';
-import 'plugins/kibana/visualize/editor/vis_options';
-import 'plugins/kibana/visualize/editor/draggable_container';
-import 'plugins/kibana/visualize/editor/draggable_item';
-import 'plugins/kibana/visualize/editor/draggable_handle';
-import 'plugins/kibana/visualize/saved_visualizations/_saved_vis';
-import 'plugins/kibana/visualize/saved_visualizations/saved_visualizations';
-import uiRoutes from 'ui/routes';
+import './styles/main.less';
+import './editor/editor';
+import './editor/add_bucket_agg';
+import './editor/agg';
+import './editor/agg_add';
+import './editor/agg_filter';
+import './editor/agg_group';
+import './editor/agg_param';
+import './editor/agg_params';
+import './editor/nesting_indicator';
+import './editor/sidebar';
+import './editor/vis_options';
+import './editor/draggable_container';
+import './editor/draggable_item';
+import './editor/draggable_handle';
+import './saved_visualizations/_saved_vis';
+import './saved_visualizations/saved_visualizations';
+import '../discover/saved_searches/saved_searches';
+import '../../../../ui/public/directives/saved_object_finder';
+import '../../../../ui/public/directives/paginated_selectable_list';
+import routes from '../../../../ui/public/routes';
+import modules from '../../../../ui/public/modules';
+import RegistryVisTypesProvider from '../../../../ui/public/registry/vis_types';
-uiRoutes
-.defaults(/visualize/, {
- requireDefaultIndex: true
-})
-.when('/visualize', {
- redirectTo: '/visualize/step/1'
-});
+const module = modules.get('app/visualize', ['kibana/courier']);
+
+import step1Template from './wizard/step_1.html';
+import step1Controller from './wizard/step_1_controller';
+step1Controller(module, RegistryVisTypesProvider);
+
+import step2Template from './wizard/step_2.html';
+import step2Controller from './wizard/step_2_controller';
+step2Controller(module);
+
+routes
+ .defaults(/visualize/, {
+ requireDefaultIndex: true
+ })
+ .when('/visualize', {
+ redirectTo: '/visualize/step/1'
+ })
+ .when('/visualize/step/1', {
+ template: step1Template,
+ controller: 'VisualizeWizardStep1',
+ })
+ .when('/visualize/step/2', {
+ template: step2Template,
+ controller: 'VisualizeWizardStep2',
+ resolve: {
+ indexPatternIds: function (courier) {
+ return courier.indexPatterns.getIds();
+ }
+ },
+ });
// preloading
-require('ui/saved_objects/saved_object_registry')
-.register(require('plugins/kibana/visualize/saved_visualizations/saved_visualization_register'));
+import savedObjectRegistry from '../../../../ui/public/saved_objects/saved_object_registry';
+import savedVisualizationRegister from './saved_visualizations/saved_visualization_register';
+savedObjectRegistry.register(savedVisualizationRegister);
diff --git a/src/core_plugins/kibana/public/visualize/wizard/step_1.html b/src/core_plugins/kibana/public/visualize/wizard/step_1.html
index 8f49ed3db0409..e173b1686b638 100644
--- a/src/core_plugins/kibana/public/visualize/wizard/step_1.html
+++ b/src/core_plugins/kibana/public/visualize/wizard/step_1.html
@@ -1,31 +1,33 @@
-
{{type.description}}
- +