cs305 F2016 : Published