initial commit with generator skeleton