47872535 implement dirty tracking