add foundation and test