Added PackageVersion class
Changed program design