Technologies needed to build smart cities