This file is my homework in NTU