We took Jasper to the vet today for his last set of shots.

He weighs a whopping 3 lbs even at 18 weeks old. The vet gave us 2 months of Heartguard Puppy. Is it too early to start him on that? I asked my vet and he said no. But I wanted my friends at YTs opinions.
Also, he was prepared to give Jasper his rabies shot. I asked why he was going to give it to him at 4 mos. I always thought it was 6 mos. He said that the shots are given at 4 mos. now. However, because Jasper is so small, he was concerned giving it to him along with his final vaccinations. So we decided to get the rabies shot next Monday to avoid a possible reaction with the vaccinations he received today.
What do y'all think about all of this? I do trust my vet. I'm just so paranoid about Jasper being so tiny...I know all of you understand. I just want to make the right decisions.

Thanks everybody!!