reference less generator