wtf? use string template for this ugly mess