auto generation is deprecated