use boost::format instead of concat strings