keep the declaration and definition in the same namespace