update code and lib