return error to the caller rather than panic
add comments to global settings
defaultTimeFormat