Generated code from  3bdccfd5c563e5a4a9339f8a48bbe35815f976ac