Self-Asembly of Particles