don't use opts for passing text