adds third party libs
adds tests, and ability to define a custom name