fix for mis-identification of extensions
add cache; add aliasing