created graph abstraction