Added Builder implementation