A surgical controlling system , comprising: a. at least one endoscope adapted to provide real-time image of surgical environment of a human body; b. at least one processing means, adapted to real time define n element within said real-time image of surgical environment of a human body; each of said elements is characterized by predetermined characteristics; c. image processing means in communication with said endoscope , adapted to image process said real-time image and to provide real time updates of said predetermined characteristics; d. a database, in communication with said processing means and said image processing means, adapted to store said predetermined characteristics and said updated characteristics; wherein said system is adapted to notify if said updated characteristics are substantially different from said predetermined characteristics; wherein said predetermined characteristics are selected from a group consisting of color of said element, 3D spatial location of said element, contours of said element, and any combination thereof, characterized in that the system further comprises at least one surgical tool adapted to be inserted into a surgical environment of a human body for assisting a surgical procedure, and (e) at least one location estimating means adapted to real-time estimate the 3D spatial position of said at least one surgical tool at any given time t ; and, (f) at least one movement detection means and a movement's database; said movement's database is adapted to store said 3D spatial position of said at least one surgical tool at time t f and at time t 0 ; where t f > t 0 ; said movement detection means is adapted to detect movement of said at least one surgical tool if the 3D spatial position of said at least one surgical tool at time t f is different than said 3D spatial position of said at least one surgical tool at time to, the system further comprising a controller having a processing means and a controller's database, said controller adapted to control the spatial position of said at least one surgical tool ; wherein said controller's database is adapted to store a predetermined set of rules according to which ALLOWED and RESTRICTED movements of said at least one surgical tool are determined, such that each detected movement by said movement detection means of said at least one surgical tool is determined as either an ALLOWED movement or as a RESTRICTED movement according to said predetermined set of rules. a. at least one endoscope adapted to provide real-time image of surgical environment of a human body; b. at least one processing means, adapted to real time define n element within said real-time image of surgical environment of a human body; each of said elements is characterized by predetermined characteristics; c. image processing means in communication with said endoscope , adapted to image process said real-time image and to provide real time updates of said predetermined characteristics; d. a database, in communication with said processing means and said image processing means, adapted to store said predetermined characteristics and said updated characteristics; (e) at least one location estimating means adapted to real-time estimate the 3D spatial position of said at least one surgical tool at any given time t ; and, (f) at least one movement detection means and a movement's database; said movement's database is adapted to store said 3D spatial position of said at least one surgical tool at time t f and at time t 0 ; where t f > t 0 ; said movement detection means is adapted to detect movement of said at least one surgical tool if the 3D spatial position of said at least one surgical tool at time t f is different than said 3D spatial position of said at least one surgical tool at time to, <EOS>