Restructure to be able to build with mvn