update reading capabilities, modularize adapter