uses check_call now