refactoring,test to compile/build