add code and improve README