add code and update readme