add test and refactor test suites for better organization