refactored norm