sensible defaults and created dirs if they don't exists