update code and ReadMe