Builder Pattern & Single Pattern