It has to be abstracted