While robust localization systems exist, as the number of nodes of a WSN is usually large, their direct applications to WSNs may result in high cost. The ZiLA algorithm [11] is an example of location estimation algorithm that uses RSS as the measurements for localization. Specifically, it is a Maximum Likelihood Estimator (MLE) under the log-normal models for the RSS measurements for the ZigBee networks. The attempt to design a practical localization algorithm for WSNs gives rise to the concept of _cooperative_ localization [12]. Cooperative localization algorithm is characterized by utilizing the estimated locations of neighboring nodes that are simultaneously performing localization with the same algorithm. In other words, nodes implementing cooperative localization compute locations relative to the locations advertised by their one-hop neighbors. The computed locations are then advertised back to their one-hop neighbors for refinement. This process continues until the computed locations converge. While a cooperative localization algorithm results in relative locations, with inclusion of a small number of devices with known locations, absolute locations of all nodes can be obtained. These devices with known locations, sometimes called beacons or anchors, may make use of manual configuration or other sophisticated localization technique such as GPS to obtain absolute locations. With the design of using devices with known locations to compute locations of others in a cooperative way, the need for devicesof known locations are greatly reduced which results in a low-cost localization solution. In addition, cooperative localization algorithm suits well in multi-hop wireless communications which is the common setup in WSNs. Cooperative localization algorithm can be applied to hierarchical WSNs discussed in [13], as well as WSNs discussed in [14]. In this paper, a cooperative localization solution is developed for WSNs. Precisely, a node uses RSS information to estimate distances between itself and other nodes, then it executes algorithm based on spring-relaxation technique. One known spring-relaxation technique used for localization is studied by [PERSON] _et al._ in [15] which they call AFL (Anchor-Free Localization). In AFL, sensor nodes start from a random initial coordinate assignment and converge to a consistent solution using only local node interactions. Specifically, AFL is based on two phases. First phase is a fold-free algorithm that coarsely estimates the networks global layout by using a hop-count technique. Second phase optimizes this layout by implementing a mass-spring relaxation, based on more accurate inter-node distances, measured using TOA. AFL is anchor-free and does not require nodes with pre-configured coordinates. It is shown that AFL can produce good coordinate assignments substantially [15]. Meanwhile, AFL also has some side effects [16]. First phase of AFL is centralized, because it can hardly be implemented without a centralized device handling information from nodes. AFL can only be applied to multi-hop networks. In one-hop networks where all nodes are connected each other, AFL fails because the first phase, based on the hop-count, cannot be executed. AFL gives relative location estimates because of its anchor-free nature. Additional effort is required to obtain absolute location estimates. Besides, the location estimation accuracy of AFL is highly dependent on the global-layout generated by first phase. Producing a network with an incorrect layout, without good initial position estimates may cause AFL falsely converge to distorted configurations of the network nodes. Inspired by AFL, we follow and extend the design concept to develop a fully distributed localization solution specifically for WSNs that are both one-hop and multi-hop. We consider a WSN that consists of a small number of nodes whose locations are known with others whose locations are unknown. Our cooperative localization solution consists of two phases.