replace inline with anonynmous namespace to avoid duplicate symbols during linking