Self-assembly of block copolymers