better OO way of dealing with multiple packages