add smart pointers to the graph and in the deserialization
removed pseudo ast impl.
changed node pointers to smart ptr (shared_ptr)
also added in the deserialization
checked with valgrind the memory usage
adjust deserialization recogniced function call etc.