updates on functions