completed solution to p058