backend generator