number stuff abstracted