add wards algo