new function, and updates to others.