second half of assignment not quite done