util refactored