refactored into process_whale method