adding credits and high level changes explanation.
adding code