generator skeleton