moved centralized outside