use ArgumentError