Added Gradle build script and refactored project structure