Why would someone create a dll? Are they just files that are full of subs and functions that can be used by different programs? And if i wrote one how would i use it?