implemented Read API