diff --git a/app/src/modules/simulation/events/points/creator/pointsCreator.tsx b/app/src/modules/simulation/events/points/creator/pointsCreator.tsx
index 3acee3c..033f2aa 100644
--- a/app/src/modules/simulation/events/points/creator/pointsCreator.tsx
+++ b/app/src/modules/simulation/events/points/creator/pointsCreator.tsx
@@ -1,112 +1,19 @@
-import React, { useEffect, useRef, useState } from "react";
-import * as THREE from "three";
-import { useEventsStore } from "../../../../../store/simulation/useEventsStore";
-import useModuleStore from "../../../../../store/useModuleStore";
-import { TransformControls, useGLTF } from "@react-three/drei";
-import { detectModifierKeys } from "../../../../../utils/shortcutkeys/detectModifierKeys";
-import {
-  useSelectedEventSphere,
-  useSelectedEventData,
-} from "../../../../../store/simulation/useSimulationStore";
-import PickDropPoints from "../../../ui/arm/PickDropPoints";
+import React, { useEffect, useRef, useState } from 'react';
+import * as THREE from 'three';
+import { useEventsStore } from '../../../../../store/simulation/useEventsStore';
+import useModuleStore from '../../../../../store/useModuleStore';
+import { TransformControls } from '@react-three/drei';
+import { detectModifierKeys } from '../../../../../utils/shortcutkeys/detectModifierKeys';
+import { useSelectedEventSphere, useSelectedEventData } from '../../../../../store/simulation/useSimulationStore';
 
-import armPick from "../../../../../assets/gltf-glb/arm_ui_pick.glb";
-import armDrop from "../../../../../assets/gltf-glb/arm_ui_drop.glb";
-import useDraggableGLTF from "../../../ui/arm/useDraggableGLTF";
-import { useArmBotStore } from "../../../../../store/simulation/useArmBotStore";
-import { useThree } from "@react-three/fiber";
-
-interface Process {
-  startPoint: number[] | null;
-  endPoint: number[] | null;
-}
-
-interface Action {
-  actionUuid: string;
-  actionName: string;
-  actionType: string;
-  process: Process;
-  triggers: any[];
-}
-
-interface Point {
-  uuid: string;
-  position: number[];
-  rotation: number[];
-  actions: Action[];
-}
-
-interface RoboticArmEvent {
-  modelUuid: string;
-  modelName: string;
-  position: number[];
-  rotation: number[];
-  state: string;
-  type: string;
-  speed: number;
-  point: Point;
-}
 function PointsCreator() {
-  const { events, updatePoint, getPointByUuid, getEventByModelUuid } =
-    useEventsStore();
-  const { armBots, updateArmBot, addArmBot, removeArmBot } = useArmBotStore()
-
-  const armUiPick = useGLTF(armPick) as any;
-  const armUiDrop = useGLTF(armDrop) as any;
-
-  const updatePointToState = (obj: THREE.Object3D) => {
-    const { modelUuid, pointUuid, actionType, actionUuid } = obj.userData;
- 
-    const newPosition = new THREE.Vector3();
-    obj.getWorldPosition(newPosition);
-    const worldPositionArray = newPosition.toArray();
-
-    const armBot = armBots.find((a) => a.modelUuid === modelUuid);
-    if (!armBot) return;
-
-    const updatedActions = armBot.point.actions.map((action: any) => {
-      if (action.actionUuid === actionUuid) {
-        const updatedProcess = { ...action.process };
-        
-        if (actionType === "pick") {
-          updatedProcess.startPoint = getLocalPosition(modelUuid, worldPositionArray);
-        }
-        if (actionType === "drop") {
-          updatedProcess.endPoint = getLocalPosition(modelUuid, worldPositionArray);
-        }
-        return {
-          ...action,
-          process: updatedProcess,
-        };
-      }
-      return action;
-    });
-
-    updateArmBot(modelUuid, {
-      point: {
-        ...armBot.point,
-        actions: updatedActions,
-      },
-    });
-  };
-
-
-  const { handlePointerDown } = useDraggableGLTF(updatePointToState);
-  const { scene } = useThree();
-  const { activeModule } = useModuleStore();
-  const transformRef = useRef<any>(null);
-  const groupRef = useRef<any>(null);
-  const [transformMode, setTransformMode] = useState<
-    "translate" | "rotate" | null
-  >(null);
-  const sphereRefs = useRef<{ [key: string]: THREE.Mesh }>({});
-  const {
-    selectedEventSphere,
-    setSelectedEventSphere,
-    clearSelectedEventSphere,
-  } = useSelectedEventSphere();
-  const { setSelectedEventData, clearSelectedEventData } =
-    useSelectedEventData();
+    const { events, updatePoint, getPointByUuid, getEventByModelUuid } = useEventsStore();
+    const { activeModule } = useModuleStore();
+    const transformRef = useRef<any>(null);
+    const [transformMode, setTransformMode] = useState<"translate" | "rotate" | null>(null);
+    const sphereRefs = useRef<{ [key: string]: THREE.Mesh }>({});
+    const { selectedEventSphere, setSelectedEventSphere, clearSelectedEventSphere } = useSelectedEventSphere();
+    const { setSelectedEventData, clearSelectedEventData } = useSelectedEventData();
 
   useEffect(() => {
     if (selectedEventSphere) {
@@ -139,149 +46,127 @@ function PointsCreator() {
     return () => window.removeEventListener("keydown", handleKeyDown);
   }, [selectedEventSphere]);
 
-  const [selectedPoint, setSelectedPoint] = useState<THREE.Mesh | null>(null);
-
-  const getDefaultPositions = (modelUuid: string) => {
-    const modelData = getModelByUuid(modelUuid);
-    if (modelData) {
-      
-      const baseX = modelData.position?.[0] || 0;
-      const baseY = 2.6;
-      const baseZ = modelData.position?.[2] || 0;
-      return {
-        pick: [baseX, baseY, baseZ + 0.4],
-        drop: [baseX, baseY, baseZ - 1.2],
-        default: [baseX, baseY, baseZ - 1.5],
-      };
+    const updatePointToState = (selectedEventSphere: THREE.Mesh) => {
+        let point = JSON.parse(JSON.stringify(getPointByUuid(selectedEventSphere.userData.modelUuid, selectedEventSphere.userData.pointUuid)));
+        if (point) {
+            point.position = [selectedEventSphere.position.x, selectedEventSphere.position.y, selectedEventSphere.position.z];
+            updatePoint(selectedEventSphere.userData.modelUuid, selectedEventSphere.userData.pointUuid, point)
+        }
     }
-    return {
-      pick: [0.5, 1.5, 0],
-      drop: [-0.5, 1.5, 0],
-      default: [0, 1.5, 0],
-    };
-  };
 
-  const getModelByUuid = (modelUuid: string) => {
-    try {
-      const modelsJson = localStorage.getItem("FloorItems");
-      if (modelsJson) {
-        const models = JSON.parse(modelsJson);
-        return models.find((m: any) => m.modeluuid === modelUuid);
-      }
-      const storeModels = (useModuleStore.getState() as any).models || [];
-      return storeModels.find((m: any) => m.modelUuid === modelUuid);
-    } catch (error) { }
-    return null;
-  };
-
-  function getLocalPosition(parentUuid: string, worldPosArray: [number, number, number] | null): [number, number, number] | null {
-    if (worldPosArray) {
-      const worldPos = new THREE.Vector3(...worldPosArray);
-      const localPos = worldPos.clone();
-
-      const parentObject = scene.getObjectByProperty('uuid', parentUuid);
-      if (parentObject) {
-        parentObject.worldToLocal(localPos);
-        
-        return [localPos.x, localPos.y, localPos.z];
-      } else {
-        
-      }
-    }
-    return null;
-  }
-
-  useEffect(() => {
-
-  }, [armBots]);
-  return (
-    <>
-      {activeModule === "simulation" && (
+    return (
         <>
-          <group name="EventPointsGroup">
-            {armBots.map((event, i) => {
-              if (event.type === "roboticArm") {
-                const defaultPositions = getDefaultPositions(event.modelUuid);
-                const isSelected =
-                  selectedPoint?.userData?.modelUuid === event.modelUuid;
-                return (
-                  <group
-                    key={i}
-                    position={new THREE.Vector3(...event.position)}
-                    rotation={new THREE.Euler(...event.rotation)}
-                  >
-                    <mesh
-                      name='Event-Sphere'
-                      uuid={event.point.uuid}
-                      ref={(el) => (sphereRefs.current[event.point.uuid] = el!)}
-                      onClick={(e) => {
-                        e.stopPropagation();
-                        setSelectedEventSphere(sphereRefs.current[event.point.uuid]);
-                        setSelectedPoint(e.object as THREE.Mesh);
-                      }}
-                      onPointerMissed={() => {
-                        clearSelectedEventSphere();
-                        setTransformMode(null);
-                      }}
-                      position={new THREE.Vector3(...event.point.position)}
-                      userData={{ modelUuid: event.modelUuid, pointUuid: event.point.uuid }}
-                    >
-                      <sphereGeometry args={[0.1, 16, 16]} />
-                      <meshStandardMaterial
-                        color={isSelected ? "yellow" : "green"}
-                      />
-                    </mesh>
-                    {event.point.actions.map((action) => {
-                      if (action.actionType === "pickAndPlace") {
-                        
-                        const pickPosition =
-                          action.process.startPoint || defaultPositions.pick;
-                        const dropPosition =
-                          action.process.endPoint || defaultPositions.drop;
-
-                        return (
-                          <React.Fragment key={action.actionUuid}>
-                            {/* Pick Point */}
-                            <PickDropPoints
-                              position={pickPosition}
-                              modelUuid={event.modelUuid}
-                              pointUuid={event.point.uuid}
-                              actionType="pick"
-                              actionUuid={action.actionUuid}
-                              gltfScene={armUiPick.scene}
-                              selectedPoint={selectedPoint}
-                              handlePointerDown={handlePointerDown}
-                              isSelected={isSelected}
-                            />
-
-                            {/* Drop Point */}
-                            <PickDropPoints
-                              position={dropPosition}
-                              modelUuid={event.modelUuid}
-                              pointUuid={event.point.uuid}
-                              actionType="drop"
-                              actionUuid={action.actionUuid}
-                              gltfScene={armUiDrop.scene}
-                              selectedPoint={selectedPoint}
-                              handlePointerDown={handlePointerDown}
-                              isSelected={isSelected}
-                            />
-                          </React.Fragment>
-                        );
-                      }
-                      return null;
-                    })}
-                  </group>
-                );
-              } else {
-                return null;
-              }
-            })}
-          </group>
+            {activeModule === 'simulation' &&
+                <>
+                    <group name='EventPointsGroup' >
+                        {events.map((event, i) => {
+                            if (event.type === 'transfer') {
+                                return (
+                                    <group key={i} position={new THREE.Vector3(...event.position)}>
+                                        {event.points.map((point, j) => (
+                                            <mesh
+                                                name='Event-Sphere'
+                                                uuid={point.uuid}
+                                                ref={(el) => (sphereRefs.current[point.uuid] = el!)}
+                                                onClick={(e) => {
+                                                    e.stopPropagation();
+                                                    setSelectedEventSphere(sphereRefs.current[point.uuid]);
+                                                }}
+                                                onPointerMissed={() => {
+                                                    clearSelectedEventSphere();
+                                                    setTransformMode(null);
+                                                }}
+                                                key={`${i}-${j}`}
+                                                position={new THREE.Vector3(...point.position)}
+                                                userData={{ modelUuid: event.modelUuid, pointUuid: point.uuid }}
+                                            >
+                                                <sphereGeometry args={[0.1, 16, 16]} />
+                                                <meshStandardMaterial color="orange" />
+                                            </mesh>
+                                        ))}
+                                    </group>
+                                );
+                            } else if (event.type === 'vehicle') {
+                                return (
+                                    <group key={i} position={new THREE.Vector3(...event.position)}>
+                                        <mesh
+                                            name='Event-Sphere'
+                                            uuid={event.point.uuid}
+                                            ref={(el) => (sphereRefs.current[event.point.uuid] = el!)}
+                                            onClick={(e) => {
+                                                e.stopPropagation();
+                                                setSelectedEventSphere(sphereRefs.current[event.point.uuid]);
+                                            }}
+                                            onPointerMissed={() => {
+                                                clearSelectedEventSphere();
+                                                setTransformMode(null);
+                                            }}
+                                            position={new THREE.Vector3(...event.point.position)}
+                                            userData={{ modelUuid: event.modelUuid, pointUuid: event.point.uuid }}
+                                        >
+                                            <sphereGeometry args={[0.1, 16, 16]} />
+                                            <meshStandardMaterial color="blue" />
+                                        </mesh>
+                                    </group>
+                                );
+                            } else if (event.type === 'roboticArm') {
+                                return (
+                                    <group key={i} position={new THREE.Vector3(...event.position)}>
+                                        <mesh
+                                            name='Event-Sphere'
+                                            uuid={event.point.uuid}
+                                            ref={(el) => (sphereRefs.current[event.point.uuid] = el!)}
+                                            onClick={(e) => {
+                                                e.stopPropagation();
+                                                setSelectedEventSphere(sphereRefs.current[event.point.uuid]);
+                                            }}
+                                            onPointerMissed={() => {
+                                                clearSelectedEventSphere();
+                                                setTransformMode(null);
+                                            }}
+                                            position={new THREE.Vector3(...event.point.position)}
+                                            userData={{ modelUuid: event.modelUuid, pointUuid: event.point.uuid }}
+                                        >
+                                            <sphereGeometry args={[0.1, 16, 16]} />
+                                            <meshStandardMaterial color="green" />
+                                        </mesh>
+                                    </group>
+                                );
+                            } else if (event.type === 'machine') {
+                                return (
+                                    <group key={i} position={new THREE.Vector3(...event.position)}>
+                                        <mesh
+                                            name='Event-Sphere'
+                                            uuid={event.point.uuid}
+                                            ref={(el) => (sphereRefs.current[event.point.uuid] = el!)}
+                                            onClick={(e) => {
+                                                e.stopPropagation();
+                                                setSelectedEventSphere(sphereRefs.current[event.point.uuid]);
+                                            }}
+                                            onPointerMissed={() => {
+                                                clearSelectedEventSphere();
+                                                setTransformMode(null);
+                                            }}
+                                            position={new THREE.Vector3(...event.point.position)}
+                                            userData={{ modelUuid: event.modelUuid, pointUuid: event.point.uuid }}
+                                        >
+                                            <sphereGeometry args={[0.1, 16, 16]} />
+                                            <meshStandardMaterial color="purple" />
+                                        </mesh>
+                                    </group>
+                                );
+                            } else {
+                                return null;
+                            }
+                        })}
+                    </group>
+                    {(selectedEventSphere && transformMode) &&
+                        <TransformControls ref={transformRef} object={selectedEventSphere} mode={transformMode} onMouseUp={(e) => { updatePointToState(selectedEventSphere) }} />
+                    }
+                </>
+            }
         </>
-      )}
-    </>
-  );
+    );
 }
 
 export default PointsCreator;