rewrite settings functional