add extname & dirname
formatting & docs
add optional File.base path