rewrote problem specification