Use ArgumentError instead of RuntimeError