lib fix, enhance