anonymous namespace instead of static functions