added all tests, changes and rest changes to Barter Model