first pass at avalon-dist module