fix bindings updated doc added tests not sure why I ignored that error need to lock before calling unlock