Add missing parameters.
Add validation of quantity of target.
Add basebuilder inheritance.
Refactor common attributes.
Add validation method for quantity of targets.