Distributed Localization in Wireless Ad-hoc Networks