library call and lib.ml modification
merge