Reaction rules Impact of placement Control over stochastics Designing self-assembly Leveraging functionality Probing interfaces