NOTE: here we try to be consistent by recrusively going down the package tree and observe all descendents.