new dependencies

also split out distributable jar into two components
updated base code