Builder Pattern.