implement Allograph (untested)