final abstract