now works with any java version