also replace the hardcoded gen_reader stuff