handling abstract packages