imperfect progress