formalized interface of generator