more js and initial reader design