modify to use 'has_warnings' parameter