Generated code from  970ad2d59fe678d6e65472cd47eec490b214ff71