use string tables to optimize