accept any type of reader