 	corners++;
 	set_laser(true);
 	while (corners) {
-		tmp.x = p->x + round(size * cos(current_angle));
-		tmp.y = p->y + round(size * sin(current_angle));
+		tmp.x = x + round(size * cos(current_angle));
+		tmp.y = y + round(size * sin(current_angle));
 		absolute_steps(&tmp);
 		current_angle += step_angle;
 		corners--;

	}
}

void draw_path(int16_t x, int16_t y, float scale) {
	draw_x = x;
	draw_y = y;
	draw_scale = scale;

}

void go_to(int16_t x, int16_t y) {
	// absolute_steps(x * draw_scale + draw_x, y * draw_scale + draw_y);
	absolute_point(x * draw_scale + draw_x, y * draw_scale + draw_y);
}

void draw_line(int16_t x0, int16_t y0, int16_t x1, int16_t y1) {
