new update in lower function