Adding the builder pattern