no need for globals