resturcture and new test