puzzle loop