single reader factory