implement protected scan method