final, abstract