basic graph API implementation

need to confirm changes to API spec and do unit testing.