Transfered the logic to the builder