abstraction violation