FindReader Implementation [has some bugs, need to unit test]