整體架構修改，新的testFirst