add string format and misc