generate lazy interface