New version using IntelliJ