renamed AbstractBuilder