the while works now