Added base reader and writer classes