refactored into dedicated module for normalizing