rewritten so that Craig can understand it