Graph interface almost complete. Totally untested