Builder design pattern added