build request takes reader, add modified interface