properly organize generators