Apply Intepreter & Builder pattern
Add Test for Interpreter & Builder pattern