diff --git a/client/package-lock.json b/client/package-lock.json
index c5f81e8da40e16f62a982cdb5c9be65131176ef5..d490f65d5542a085d80c4959ce9ddddc4f2f09fb 100644
--- a/client/package-lock.json
+++ b/client/package-lock.json
@@ -122,9 +122,9 @@
       }
     },
     "@angular/animations": {
-      "version": "7.2.14",
-      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-7.2.14.tgz",
-      "integrity": "sha512-K+wdq7TslmvDhrbwy65x7owE8wezI0fDdO+8SO9RU4m/w6R6vo4QS3uSdc5I2pxwm4QSXSc5eKhoWJkq0muTbQ==",
+      "version": "7.2.15",
+      "resolved": "https://registry.npmjs.org/@angular/animations/-/animations-7.2.15.tgz",
+      "integrity": "sha512-8oBt3HLgd2+kyJHUgsd7OzKCCss67t2sch15XNoIWlOLfxclqU+EfFE6t/vCzpT8/+lpZS6LU9ZrTnb+UBj5jg==",
       "requires": {
         "tslib": "^1.9.0"
       }
diff --git a/client/package.json b/client/package.json
index a2bc8916f2d9152834f7dcaf967476aecc445273..867e63a50853a1b9c53c6329ddc1b6e7a932ac51 100644
--- a/client/package.json
+++ b/client/package.json
@@ -11,8 +11,8 @@
   },
   "private": true,
   "dependencies": {
-    "@angular/animations": "~7.2.0",
-    "@angular/cdk": "~7.3.7",
+    "@angular/animations": "^7.2.15",
+    "@angular/cdk": "^7.3.7",
     "@angular/common": "~7.2.0",
     "@angular/compiler": "~7.2.0",
     "@angular/core": "~7.2.0",
diff --git a/client/src/app/app-routing.module.ts b/client/src/app/app-routing.module.ts
index 278de4a288e4100e4de5673af5ee1cbdb09adc65..5754c121728e2d9ee3ba3eb5530311b08f0132fa 100644
--- a/client/src/app/app-routing.module.ts
+++ b/client/src/app/app-routing.module.ts
@@ -6,6 +6,7 @@ import {KataComponent} from './kata/kata.component';
 import {ProgramCreateComponent} from './program-create/program-create.component';
 import {KataCreateComponent} from './kata-create/kata-create.component';
 
+
 const routerOptions: ExtraOptions = {
   useHash: false,
   anchorScrolling: 'enabled'
diff --git a/client/src/app/app.module.ts b/client/src/app/app.module.ts
index 32ab379c4f667a9bfec61dc59a3396c7de916d02..1f38cdf27b090f67d9f80318148179973c4ca22d 100644
--- a/client/src/app/app.module.ts
+++ b/client/src/app/app.module.ts
@@ -7,7 +7,15 @@ import {TerminalAssertComponent} from './terminal-assert/terminal-assert.compone
 import {BrowserAnimationsModule} from '@angular/platform-browser/animations';
 import {MainLeftSideNavComponent} from './main-left-side-nav/main-left-side-nav.component';
 import {LayoutModule} from '@angular/cdk/layout';
-import {MatToolbarModule, MatButtonModule, MatSidenavModule, MatIconModule, MatListModule} from '@angular/material';
+import {
+  MatToolbarModule,
+  MatButtonModule,
+  MatSidenavModule,
+  MatIconModule,
+  MatListModule,
+  MatStepperModule,
+  MatOptionModule, MatSelectModule
+} from '@angular/material';
 import {AppRoutingModule} from './app-routing.module';
 import {RouterModule} from '@angular/router';
 import {KataDisplayerComponent} from './kata-displayer/kata-displayer.component';
@@ -16,11 +24,13 @@ import {KataComponent} from './kata/kata.component';
 import {AceEditorModule} from 'ng2-ace-editor';
 import {KataCreateComponent} from './kata-create/kata-create.component';
 import {ProgramCreateComponent} from './program-create/program-create.component';
-import {FormsModule} from '@angular/forms';
+import {FormsModule, ReactiveFormsModule} from '@angular/forms';
 import {HttpClientModule} from '@angular/common/http';
 import {RNotFoundComponent} from './rnot-found/rnot-found.component';
 import {NgxUiLoaderModule} from 'ngx-ui-loader';
-import { AlertModule } from 'ngx-alerts';
+import {AlertModule} from 'ngx-alerts';
+import {MatInputModule} from '@angular/material';
+import {MatFormFieldModule} from '@angular/material/form-field';
 
 
 @NgModule({
@@ -34,7 +44,7 @@ import { AlertModule } from 'ngx-alerts';
     KataComponent,
     KataCreateComponent,
     ProgramCreateComponent,
-    RNotFoundComponent
+    RNotFoundComponent,
   ],
   imports: [
 
@@ -46,6 +56,13 @@ import { AlertModule } from 'ngx-alerts';
     MatSidenavModule,
     MatIconModule,
     MatListModule,
+    MatStepperModule,
+    FormsModule,
+    ReactiveFormsModule,
+    MatFormFieldModule,
+    MatInputModule,
+    MatOptionModule,
+    MatSelectModule,
     AppRoutingModule,
     RouterModule,
     AceEditorModule,
diff --git a/client/src/app/kata-create/kata-create.component.html b/client/src/app/kata-create/kata-create.component.html
index 1837926e6f02b3e4d2287c88fafc38cadaeb59d2..1a7bbaaf1fe91d4b6c1b0c8f0d65faa270529d45 100644
--- a/client/src/app/kata-create/kata-create.component.html
+++ b/client/src/app/kata-create/kata-create.component.html
@@ -40,6 +40,59 @@
     </div>
 
   </div>
+ <!-- <mat-horizontal-stepper [linear]="false" #stepper>
+    <mat-step [stepControl]="firstFormGroup">
+      <form [formGroup]="firstFormGroup">
+        <ng-template matStepLabel>Kata's options</ng-template>
+        <mat-form-field>
+          <mat-label>Display assert box</mat-label>
+          <mat-select (change)="UpdateChoice($event)" matNativeControl required>
+            <mat-option value="true">yes</mat-option>
+            <mat-option value="false">no</mat-option>
+          </mat-select>
+        </mat-form-field><br/>
+        <mat-form-field>
+          <input matInput autocomplete="off"  placeholder="Kata's title" [(ngModel)]="title" required>
+        </mat-form-field><br/>
+        <mat-form-field>
+          <input matInput type="number" [(ngModel)]="numberOfAttempt" placeholder="Unlock solution at (n) attempt" required>
+        </mat-form-field>
+
+        <div>
+          <button mat-button matStepperNext>Next</button>
+        </div>
+      </form>
+    </mat-step>
+    <mat-step [stepControl]="secondFormGroup">
+      <form [formGroup]="secondFormGroup">
+        <ng-template matStepLabel>Kata's instructions</ng-template>
+
+          <textarea [(ngModel)]="rules" formControlName="secondCtrl" required></textarea>
+
+        <br/>
+        <div>
+          <button mat-button matStepperPrevious>Back</button>
+          <button mat-button matStepperNext>Next</button>
+        </div>
+      </form>
+    </mat-step>
+    <mat-step [stepControl]="thirdFormGroup">
+      <form [formGroup]="thirdFormGroup">
+        <ng-template matStepLabel>Kata</ng-template>
+        <app-terminal-code [code]="solution" [type]="language" (new)="OnNewEventSolution($event)"></app-terminal-code>
+        <app-terminal-code style="margin-left: 20px;" [code]="assert" [type]="language" (new)="OnNewEventAssert($event)"></app-terminal-code><br/>
+        <app-terminal-code [code]="canva" [type]="language" (new)="OnNewEventCanva($event)"></app-terminal-code>
+        <textarea [ngClass]="{'success':status === 0,'error':status === 1,'':status === 2}"
+                  style="white-space: pre-wrap" disabled>{{result}}</textarea><br/>
+        <div>
+          <button mat-button (click)="try()"  type="button">Try my solution</button>
+          <button mat-button (click)="publish()"  type="button">Create kata</button>
+          <button mat-button matStepperPrevious>Back</button>
+          <button mat-button (click)="stepper.reset()">Reset</button>
+        </div>
+      </form>
+    </mat-step>
+  </mat-horizontal-stepper>-->
 </div>
 
 
diff --git a/client/src/app/program-create/program-create.component.html b/client/src/app/program-create/program-create.component.html
index 31faa130fa9a2242f54471f37b696998be4faec2..63c9287b791488ec5ba2dc3c1d9cd648b6247636 100644
--- a/client/src/app/program-create/program-create.component.html
+++ b/client/src/app/program-create/program-create.component.html
@@ -2,7 +2,7 @@
   <div class="d-flex flex-column">
     <fieldset>
       <legend>New program</legend>
-      <div class="p-2"><label>Title</label><input placeholder="Some title.." type="text" [(ngModel)]="programTitle"/>
+      <div class="p-2"><label>Title</label><input matInput placeholder="Some title.." type="text" [(ngModel)]="programTitle"/>
       </div>
       <div class="p-2"><label>Targeted language</label><select (change)="update($event)">
         <option value="python">python</option>
@@ -10,7 +10,7 @@
       </select></div>
       <div class="p-2"><label>Program description</label><textarea [(ngModel)]="programDescr"
                                                                    placeholder="Some text.."></textarea></div>
-      <div class="p-2"><label>Tags</label><input type="text" [(ngModel)]="programTags"
+      <div class="p-2"><label>Tags (_,_)</label><input type="text" [(ngModel)]="programTags"
                                                  placeholder=" arrays,writeable,.."/></div>
       <div class="p-2">
 
diff --git a/client/src/app/program-create/program-create.component.scss b/client/src/app/program-create/program-create.component.scss
index 1f3449f079f2951692132438119dbeb6e4e6cd00..e7c857dcc702d27c55fe3636fc34f135778a8d4f 100644
--- a/client/src/app/program-create/program-create.component.scss
+++ b/client/src/app/program-create/program-create.component.scss
@@ -1,3 +1,4 @@
+
 input[type=text]{
   width: 100%;
   background-color: rgba(43, 47, 57, 1);
diff --git a/client/src/styles.scss b/client/src/styles.scss
index e7d6f82b6881e40f9b481b2cbf0cf186d596128f..4959ba18e965bce4615d95d6214d0b7a5b86cfd5 100644
--- a/client/src/styles.scss
+++ b/client/src/styles.scss
@@ -1,5 +1,4 @@
 /* You can add global styles to this file, and also import other style files */
-
 html, body {
   height: 100%;
   --color-cloud: rgba(236, 240, 241, 1);
@@ -37,6 +36,10 @@ body {
 
 }
 
+button:focus{
+outline: none;
+}
+
 .button:hover {
   background-color: var(--color-button-hover);
 }
diff --git a/server_rest/.idea/workspace.xml b/server_rest/.idea/workspace.xml
index ee65090bc03369f5f927b1a1b2867b6b0e19f1a4..e01421b86db378773b02c8b9196313976e65bbe0 100644
--- a/server_rest/.idea/workspace.xml
+++ b/server_rest/.idea/workspace.xml
@@ -2,26 +2,9 @@
 <project version="4">
   <component name="ChangeListManager">
     <list default="true" id="e6a1f2e5-4f60-4227-82bb-83eb10fa94a5" name="Default Changelist" comment="">
-      <change beforePath="$PROJECT_DIR$/../client/package-lock.json" beforeDir="false" afterPath="$PROJECT_DIR$/../client/package-lock.json" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/package.json" beforeDir="false" afterPath="$PROJECT_DIR$/../client/package.json" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/src/app/app.module.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/app/app.module.ts" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/src/app/kata-create/kata-create.component.html" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/app/kata-create/kata-create.component.html" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/src/app/kata-create/kata-create.component.scss" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/app/kata-create/kata-create.component.scss" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/src/app/kata-create/kata-create.component.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/app/kata-create/kata-create.component.ts" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/src/app/kata-displayer/kata-displayer.component.html" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/app/kata-displayer/kata-displayer.component.html" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/src/app/kata-displayer/kata-displayer.component.scss" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/app/kata-displayer/kata-displayer.component.scss" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/src/app/kata/kata.component.html" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/app/kata/kata.component.html" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/src/app/kata/kata.component.scss" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/app/kata/kata.component.scss" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/src/app/kata/kata.component.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/app/kata/kata.component.ts" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/src/app/languages_canvas.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/app/languages_canvas.ts" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/src/app/main-left-side-nav/main-left-side-nav.component.html" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/app/main-left-side-nav/main-left-side-nav.component.html" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/src/app/main-left-side-nav/main-left-side-nav.component.scss" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/app/main-left-side-nav/main-left-side-nav.component.scss" afterDir="false" />
       <change beforePath="$PROJECT_DIR$/../client/src/app/program-create/program-create.component.html" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/app/program-create/program-create.component.html" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/src/app/program-create/program-create.component.scss" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/app/program-create/program-create.component.scss" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/src/app/program-create/program-create.component.ts" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/app/program-create/program-create.component.ts" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/src/app/program-displayer/program-displayer.component.html" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/app/program-displayer/program-displayer.component.html" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/src/app/program-displayer/program-displayer.component.scss" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/app/program-displayer/program-displayer.component.scss" afterDir="false" />
-      <change beforePath="$PROJECT_DIR$/../client/src/styles.scss" beforeDir="false" afterPath="$PROJECT_DIR$/../client/src/styles.scss" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
+      <change beforePath="$PROJECT_DIR$/target/classes/app.class" beforeDir="false" afterPath="$PROJECT_DIR$/target/classes/app.class" afterDir="false" />
     </list>
     <ignored path="$PROJECT_DIR$/out/" />
     <ignored path="$PROJECT_DIR$/target/" />
@@ -48,8 +31,8 @@
       <file pinned="false" current-in-tab="true">
         <entry file="file://$PROJECT_DIR$/src/main/java/app.java">
           <provider selected="true" editor-type-id="text-editor">
-            <state relative-caret-position="243">
-              <caret line="52" lean-forward="true" selection-start-line="52" selection-end-line="52" />
+            <state relative-caret-position="153">
+              <caret line="46" column="13" lean-forward="true" selection-start-line="46" selection-start-column="13" selection-end-line="46" selection-end-column="13" />
               <folding>
                 <element signature="imports" expanded="true" />
               </folding>
@@ -157,8 +140,8 @@
       <foldersAlwaysOnTop value="true" />
     </navigator>
     <panes>
-      <pane id="ProjectPane" />
       <pane id="Scope" />
+      <pane id="ProjectPane" />
       <pane id="PackagesPane" />
     </panes>
   </component>
@@ -229,11 +212,13 @@
       <workItem from="1557298032818" duration="4720000" />
       <workItem from="1557322451462" duration="202000" />
       <workItem from="1557327228313" duration="707000" />
+      <workItem from="1557340241267" duration="154000" />
+      <workItem from="1557383112195" duration="510000" />
     </task>
     <servers />
   </component>
   <component name="TimeTrackingManager">
-    <option name="totallyTimeSpent" value="48450000" />
+    <option name="totallyTimeSpent" value="49114000" />
   </component>
   <component name="TodoView">
     <todo-panel id="selected-file">
@@ -245,10 +230,10 @@
     </todo-panel>
   </component>
   <component name="ToolWindowManager">
-    <frame x="0" y="23" width="1920" height="1121" extended-state="0" />
+    <frame x="0" y="23" width="1920" height="1121" extended-state="6" />
     <editor active="true" />
     <layout>
-      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.2736954" />
+      <window_info content_ui="combo" id="Project" order="0" visible="true" weight="0.1970181" />
       <window_info id="Structure" order="1" side_tool="true" weight="0.25" />
       <window_info id="Image Layers" order="2" />
       <window_info id="Designer" order="3" />
@@ -257,7 +242,7 @@
       <window_info id="Favorites" order="6" side_tool="true" />
       <window_info anchor="bottom" id="Message" order="0" />
       <window_info anchor="bottom" id="Find" order="1" />
-      <window_info anchor="bottom" id="Run" order="2" weight="0.3595724" />
+      <window_info anchor="bottom" id="Run" order="2" weight="0.35939643" />
       <window_info anchor="bottom" id="Debug" order="3" weight="0.39941692" />
       <window_info anchor="bottom" id="Cvs" order="4" weight="0.25" />
       <window_info anchor="bottom" id="Inspection" order="5" weight="0.4" />
@@ -490,8 +475,8 @@
     </entry>
     <entry file="file://$PROJECT_DIR$/src/main/java/app.java">
       <provider selected="true" editor-type-id="text-editor">
-        <state relative-caret-position="243">
-          <caret line="52" lean-forward="true" selection-start-line="52" selection-end-line="52" />
+        <state relative-caret-position="153">
+          <caret line="46" column="13" lean-forward="true" selection-start-line="46" selection-start-column="13" selection-end-line="46" selection-end-column="13" />
           <folding>
             <element signature="imports" expanded="true" />
           </folding>
diff --git a/server_rest/target/classes/app.class b/server_rest/target/classes/app.class
index 4330328ec39ca3c488dd2ea4f9dae24083eb77d9..1c9802a0ba2547a05908d5756ebce45a16bfac3e 100644
Binary files a/server_rest/target/classes/app.class and b/server_rest/target/classes/app.class differ