// generation basically in place