This is what I did. It seems mean but Meatball was in his crate a lot as a puppy. I would let him out for 30min. Every hour to potty and stretch/play. Than with each couple of weeks I extended his crate time. Let him out every 2 hours, 3 hours, 4 hours, until he learned to hold it for at least 4 hours. Once he got that down, I started letting him free around the house knowing he can hold it for 4 hours. I crated when we went out, ate, and for night sleep. It took a long time!!!!! At least 6 months and he still pees in house if he plays too hard with kids, and I don't let him out immediately after play. Now he can hold it for 6-8 hours give or take. Housebreaking sucks!!!!