simplifying TsvReader hierarchy and structure