improved builder in ruby