main file and test file