abstracted package functions