generate code tools