package abstract