still with the generated contract