updated code and implemented TestSuite