problem #4--a fun one!