add  core graph function