add mattjj's code + license
add eigen3 dep to travis.yml