Allow SmartFile constructor to be called without params, fixes #1