Self assembling polymers