text version is optional