use from lib now (helps testing)
sensibling only require once