more primitive generators