assignment8 by ql516