abstract compiled