Basic Builder Pattern implemented