inital commit from mike. edited main.js to reflect a recursive object builder