more robust extension detection