Self-organizing cities