more robust arguments