refactored to be able to make a fat jar