decapitialized variable names
added constructor equivalent function instantiate, corresponding terminate, and load host api from config function