define static to avoid multiple-definition error