Builder design pattern added.