abstraction'g