new version - strange bug, sometimes the brower close but all still working
separation of component abstraction and graph abstraction
some changes