add strings and chars; some streamlining