updates to functions