updated Problem004