update to functions