modern abstraction