graph interface and part implementation