Money magazine's annual ranking of the best small cities to live in America says three of them are right here in Colorado.

McKinney, Texas, was the top-ranked town.  Castle Rock, Colorado came in at No. 4. Castle Rock followed McKinney; Maple Grove, Minnesota; and Carmel, Indiana. Centennial, CO was ranked No. 13. Boulder came in at No. 23.

The magazine considered towns with populations between 50,000 and 300,000, and then took into account such factors as economic strength, job growth, affordable housing, arts and leisure, and schools.

More From K99