even more code gen