optionally scan self