rewritten the application to use Kotlin instead of Groovy