better string building using Maybe