Optimize: add read