abstract end