Solving Multi Step Problems