my version, which breaks differently.