Added folder structure and a few java specfic implementations