the abstraction