more logic to catorthavoid