In this paper, we will present an energy efficient clustering scheme in order to increase the wireless sensor network's lifetime. In the proposed method all of the nodes are able to appear as cluster heads, in other words each node decides whether to act as a cluster head and aggregate data or to route the incoming data to a neighbor better suited for this role. The main goal of the proposed method is to eliminate the extensive overhead due to selection of the cluster head and the agreement on it. One of the characteristics of the proposed method is that it does not converge to a specific cluster head, so the balances the energy consumption in clusters which will result in increment the network's lifetime. In addition the proposed method reduces the delay in the network and also maintains the load balance in a significant manner by selecting the optimal cluster head and optimal intra-cluster and outside-cluster paths.