It's my NTHU assignment work