modified to annotation based DI, also switched to shade plugin for building