assign4 version 2.0