reader functions added