broke tag IO out to a separate class that gets initialized when a tag is present.