add some static and extern