Third Commit

Added Datapath description and refined lots of codes, added the tests
files for components of Datapath