diff --git a/src/main/java/lab/DrawingThread.java b/src/main/java/lab/DrawingThread.java
index 63badd7697bde7382096fbbae8e6244464b2cbb1..e840d96c81950fc3acca876b27a5fcdcd1105048 100644
--- a/src/main/java/lab/DrawingThread.java
+++ b/src/main/java/lab/DrawingThread.java
@@ -1,13 +1,22 @@
 package lab;
 
 import javafx.animation.AnimationTimer;
+import javafx.geometry.Point2D;
 import javafx.scene.canvas.Canvas;
 import javafx.scene.canvas.GraphicsContext;
+import javafx.scene.paint.Color;
 
 public class DrawingThread extends AnimationTimer {
 
 	private final Canvas canvas;
 	private final GraphicsContext gc;
+	
+	
+	private Point2D p = new Point2D(0, 100);
+	
+	private Point2D v = new Point2D(50, 0);
+	
+	private long lastTimeOffset = -1;
 
 	public DrawingThread(Canvas canvas) {
 		this.canvas = canvas;
@@ -20,11 +29,26 @@ public class DrawingThread extends AnimationTimer {
 	 */
 	@Override
 	public void handle(long now) {
+		gc.setFill(Color.YELLOW);
+		gc.clearRect(0, 0, canvas.getWidth(), canvas.getHeight());
+		paintUFO(p.getX(), p.getY());
+		if (lastTimeOffset >= 0) {
+			//compute simulation
+			double deltaT = (now - lastTimeOffset)/1e9;
+			p = new Point2D(p.getX() + v.getX()*deltaT,p.getY() + v.getY()*deltaT);
+		}
+		
+		lastTimeOffset = now;
+	}
+	
+	
+	void paintUFO(double x, double y) {
 		// put your code here
-		//gc.setFill(Color.AQUA);
+		gc.setFill(Color.AQUA);
 		//gc.setStroke(Color.BLACK);
-		//gc.fillOval(10, 10, 20, 20);
-
+		gc.fillOval(15 + x, 0 + y, 30, 20);
+		gc.setFill(Color.SILVER);
+		gc.fillRect(0 + x, 8 + y, 60, 5);
 	}
 
 }