dd1 was/is a good sleeper, 7pm-7am, always.
dd2 however was the opposite, she has just turned 2 has always been a bad sleeper, either in our bed or on the sofa of an evening. She used to get VERY upset, and I mean racking, heartbreaking sobs, and I just couldn't leave her, it felt so wrong. I think cc can be a bit mean sometimes but that is just my humble opinion.
Anyway, we got a tad peeved off with the situation, so a couple of weeks ago we decided to sort her out!
All day we told her that she was going to sleep in her cot like a big girl etc, went on an on about it. Got her a new teddy, made huge fuss of her cot.
7pm, cue lots of screeching. I went in every 5 mins or so, picked her up, wiped away her tears and said that her teddy was v tired, lets put him in, oh look he has gone to sleep etc etc. Then I put her in.
Took about 6 days (loooooooooooooooooooooong days and nights of little patience) but now she sleeps through .
At 2 they should understand a bit more imo and you can explain things to them that you can't when they are young babies.
Don't give your son any bottles of anything in the night, pick him up, comfort then put back down (use the teddy ploy, tis worth a go).