revised Assignment1