restructured project, added general graph methods