refactoring - using overload::constants