Updated with Kyle's awesome help!