adds dirty detection