* introduced properties and concepts.
* used builder pattern to see if I like it