Vehicular Ad-hoc Networks for Smart Cities