switch to string concatenate for the most expensive part