This paper deals with clustering algorithms in ad hoc networks. We present a short survey of the basic ideas and priorities of existing clustering algorithms, and a new algorithm. The aim is to produce large and stable clusters with a relatively low amount of communication overhead. This is partly done by using a maintenance function that modifies the existing clustering structure rather than building a new one from scratch. Preliminary simulations seem to indicate that the algorithm produces clusters of about the same size and stability as a comparable existing algorithm, while only sending about a third of the number of messages.