Builder Pattern added