Builder pattern modified