almost no globals... woo hoo