graph functions