Speeding up problem solving by abstraction: a graph oriented approach