New Version with Kyle's Updates