Initial commit. IDEA files are added as well, until we have a proper compilation config.