proof of concept on Builder Pattern