riffle api and data structure