Assignment10 by ql516