Builder pattern added