added static to internal function