Look in the code for bundles. I'm too lazy to make an explanation for this one, since it's too complicated.