[add] read function, need tests
[add] test
[fix] typo
[add] comments, tests