update lib function