why package visibility?