implemented graph