Ping Wu says to YSITD
用泛型或許會好一點