Builder

Added a builder class with tests as different API approach. 
Builder usage can easily learned from corresponding unit test.