specify thin interface between R and chain implementation