moved read handler