This all file should be enclosed in function.