Generated code from  7fab3fd9b0ef53ffcaa2357e267ffbd2e3638cf1