seperated test framework and its test suite for ease of use