for CS558 Fall 2013 course