Implemented Builder pattern

Implemented Builder pattern