add code and lib