improve puzzle