pass through abstract