avoid unnescessary redraws