I've got this all redone and fixed so here is our working copy