refactor void substantiate()