Added a closeSilentely method
Added method to generate valid filename from arbitrary string
Moved
Added fallback to internal storage if external fir is null (ie insufficient permissions)