try to make it more stable, but it may be a library bug