prototype multi role interface